Ниже приводится выдержка из моего зренияОбъект не поддерживает свойство или метод «Attr»
<ul id="ScreenNav">
<li id="1" class="Active"> One </li>
<li id="2"> Two </li>
<li id="3"> Three </li>
</ul>
У меня есть несколько сценариев, которые выполняют вызов Ajax на основе списка элементов, выбранных.
$('#ScreenNav').on('click', 'li', function() {
$(this).siblings().removeClass('active');
$(this).addClass('active');
var index = $(this).attr('id');
//ajax call to a controller action
});
Как-то Аякс вызов действия контроллера происходит в то время как операторы до этого не имеют никакого эффекта. Во время отладки я обнаружил, что заявление $('this').attr('id')
вызывает ошибку: «Объект не поддерживает свойство или метод attr».
Я пробовал играть, но сталкиваюсь с тем же вопросом. http://jsfiddle.net/29KR9/1/. Возможно, $('this')
не определен? В этом случае, как происходит вызов ajax, как ожидалось? Что не так с кодом?
EDIT: Приношу свои извинения! Скрипка работает так, как ожидалось. Как отметил @Anton, я не включил jQuery. Однако я до сих пор не понимаю, почему мое добавление и удаление класса не работает. Разница между скриптом и моим кодом заключается в том, что в моем коде скрипты привязаны к элементам списка, которые являются динамическими html.
Вам нужно включить JQuery для скрипки http://jsfiddle.net/29KR9/1/ – Anton
это может быть 'вар индекс = this.id;' –
выглядит тонкой Http: // jsfiddle. net/arunpjohny/Nk955/1/ –