У меня есть следующие элементы на моей странице HTML:опора() не работает с некоторыми атрибутами
<ul class="form-tabs">
<li class="active" data-bind="blah-blah-blah-1">
<li class="" data-bind="blah-blah-blah-2">
</ul>
мне нужно перебрать data-bind
свойствами, так что я сделал следующее:
$("ul.form-tabs > li").prop('data-bind', function (index, element) {
console.log(element);
});
В логе есть 2 undefined
. JQuery API говорит: Он возвращает undefined
для значения свойства, которое не было установлено, или если согласованный набор не имеет элементов. Но, подожди, мой <li>
имеет data-bind
Недвижимость! Кроме того, когда я пытаюсь использовать .prop('class')
, он отлично работает, давая мне "active"
и ""
.
Я сказал ОК, и написал:
$("ul.form-tabs > li").each(function (index, element) {
console.log(element.prop('data-bind'));
});
Теперь у меня есть эта ошибка: TypeError: element.prop is not a function
.
Итак, вопрос в том, что я делаю неправильно?
P.S. Я использую jquery 1.10.1 и нокаут. Может ли это быть конфликтом?
P.P.S. Спасибо всем, этот код работает отлично:
$("ul.form-tabs > li").each(function (index, element) {
console.log($(element).attr('data-bind'));
});
Попробуйте '$ (element) .prop()'. – D4V1D
'.prop()' предполагается использовать для * свойств. * '.attr()' было бы более подходящим для 'data-bind' – Blazemonger
использовать' .data ('bind') 'для получения атрибута привязки данных , – jcubic