Я создаю свой собственный объект:
gridObject = new Object();
Затем я использую jquery, чтобы вытащить содержимое тегов элементов списка, которые сами заполнены тегами
которые имеют определенные имена классов:
<li row="1"><p class="department" rowitem="department">Photography</p>...</li>
Я использую этот код:
//make object from results
gridObject = new Object();
//get all the rows
var rowlist = $('li[row]');
for(var r=0; r<rowlist.length; r++) {
//make gridObject row element here
//get the row content
var thisrow = $(rowlist[r]).html();
//get all the p tags
var rowitems = $(thisrow + 'p.[rowitem]');
//get field name
for(var ri=0; ri<rowitems.length; ri++) {
if (r < 2) { //this is temporary just for testing
var fieldname = $(rowitems[ri]).attr('rowitem');
var fieldvalue = $(rowitems[ri]).html();
}
}
Я повесил трубку, передавая это в свой объект. Два вопроса. Можно ли создать свойство объекта с именем переменной, например
griObject.fieldname = fieldvalue;
и могут иметь объекты родительские/дочерние отношения, такие как:
gridObject.r.fieldname = fieldvalue;
в этом случае оба r и fieldname будут переменными. Или я должен просто работать с ассоциативными массивами для достижения чего-то подобного?
Это ответ на следующий вопрос, который я разместил ниже, "есть ли эквивалент print_r в javascript" - вы можете использовать итератор, немного больше набирать текст, но делает трюк:
//loop through search data
var it = Iterator(filteritems);
for(var pair in it) {
console.log("key:" + pair[0] + ", value:" + pair[1] + "\n");
}