#jquery
#jquery
Вопрос:
Я пытаюсь обнаружить щелчок по привязке к разбивке на страницы через: селектор данных без результата:
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript' src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
</head>
<body>
<ul>
<li>
<a href="#" data-pageindex="1">1</a>
</li>
<li>
<a href="#" data-pageindex="2">2</a>
</li>
<li>
<a href="#" data-pageindex="3">3</a>
</li>
</ul>
<script type="text/javascript">
$("a:data(pageindex)").click(function (event) {
event.preventDefault();
alert('anchor clicked!');
})
</script>
</body>
</html>
Есть какие-либо подсказки о том, что я делаю неправильно?
Комментарии:
1. : селектор данных () существует в jQueryUI, но дело в том, что в вашем случае он неприменим, проверьте документы: api.jqueryui.com/data-selector , вы можете использовать ответ Раджапрабху Аравиндасами.
2. Если вы все еще хотите использовать свою собственную логику (с помощью
:data
селектора), я думаю, вам нужно настроить свой собственный:data
селектор (не нужен пользовательский интерфейс jQuery), проверьте это james.padolsey.com/javascript /… , с.expr[':']
помощью , вы можете расширить многие селекторы, а не только:data
.
Ответ №1:
Попробуйте использовать Has attribute selector
в этом контексте,
$("a[data-pageindex]").click(function (event) {
event.preventDefault();
alert('anchor clicked!');
});
ДЕМОНСТРАЦИЯ
Ответ №2:
В jQuery нет селектора «: data».
Ответ №3:
Это недопустимый селектор. Вместо этого используйте вот так,
$("ul > li").each(function(){
$(this).find("a").data();
$(this).click(function(){
console.log($(this).find("a").data().pageindex);
// do your stuff
})
});