Я пытаюсь построить json-объект в javascript/jquery, который сравнивается. Вот что у меня естьПоиск текста для сравнения true или false
HTML:
<div class="field">
<div>size</div>
<div>large</div>
<div>medium</div>
<div>number</div>
</div>
ЯШ:
selectedObj = {
'fieldSize':false,
'sizeXSmall':false,
'sizeSmall':false,
'sizeMedium':false,
'sizeLarge':false,
'sizeXLarge':false,
'fieldName':false,
'fieldNum':false
};
if(jQuery('.field div:contains("size")')){selectedObj['fieldSize'] = true}
if(jQuery('.field div:contains("xs")')){selectedObj['sizeXSmall'] = true}
if(jQuery('.field div:contains("small")')){selectedObj['sizeSmall'] = true}
if(jQuery('.field div:contains("medium")')){selectedObj['sizeMedium'] = true}
if(jQuery('.field div:contains("large")')){selectedObj['sizeLarge'] = true}
if(jQuery('.field div:contains("xl")')){selectedObj['sizeXLarge'] = true}
if(jQuery('.field div:contains("name")')){selectedObj['fieldName'] = true}
if(jQuery('.field div:contains("number")')){selectedObj['fieldNum'] = true}
Так в идеале я бы в конечном итоге с объектом, который выглядит следующим образом:
selectedObj = {
'fieldSize':true,
'sizeXSmall':false,
'sizeSmall':false,
'sizeMedium':true,
'sizeLarge':true,
'sizeXLarge':false,
'fieldName':false,
'fieldNum':true
};
я вместо того, чтобы положить конец с объектом, где все верно. Вот пример:
http://jsfiddle.net/vz600nd7/
Кроме того, когда я утешаю зарегистрировать ее до того, как после того, как он выглядит следующим образом:
Похоже, что «предварительный просмотр» дает правильную информацию, но фактический вид нет.
'JQuery (» поле ДИВ:. Содержит ("размер") ') 'возвращает объект jQuery, который всегда истинен, поэтому' jQuery ('. field div: contains ("size") '). length' –
Не доверяйте 'console.log' при регистрации объектов. Он имеет тенденцию обеспечивать живое представление объекта, поэтому даже если свойства обновляются * после того, как вы запускаете свой 'console.log', консоль все еще показывает обновленные значения. –