ПроблемаJavascript и JQuery толчок массив объект на основе пользовательского атрибута
Есть несколько HTML-тегов с классами следующим
<span class="keyword" column-name="Product Group">Outdoors</span>
<span class="keyword" column-name="Material Code">10001003</span>
<span class="keyword" column-name="Material Code">10001000</span>
Все span
потребности быть итерация и новый объект будет создан с атрибутом column-name в качестве его свойства и соответствующим текстом, переданным в массив.
код So Far
Я использую следующий код, но массив передается состоит из всего текста с размаху
var searchCriteria = {};
var keyword = [];
$('.keyword').each(function(index, elem) {
col = $(elem).attr('column-name');
keyword.push($(elem).text());
searchCriteria[col] = (keyword);
});
console.log(searchCriteria);
Приведенный выше код подготавливает объект как
{
Material Code: ['Outdoors', '10001003', '10001000']
Product Group: ['Outdoors', '10001003', '10001000']
}
Ожидаемый результат
Результат объекта, который я ожидал это
{
Material Code: ['10001003', '10001000']
Product Group: ['Outdoors']
}
JS скрипку
Вот JSFiddle же - http://jsfiddle.net/illuminatus/0g0uau4v/2/
бы признателен за любую помощь!
Я действительно предлагаю вам реорганизовать HTML и сделать его более семантическим, это действительно плохо написано. –
@GeorgeKatsanos; Любые отзывы о том, что нужно изменить с помощью HTML? И каковы последствия, которые вы можете видеть с существующей разметкой? –