我无法更改ID,我无法更改名称,我需要两个不同的类来设置元素的样式。
可以使用data()访问元素吗?基本上,我如何访问data-arrow="el"
?
$(".vote").data("arrow");
$(".vote").click(function () {//here i need a selector that should have a permanent name
//some code
});
<a href="" class="vote" id="<?php echo $id ?>" name="up" data-arrow="el">up</a>
<a href="" class="vote" id="<?php echo $id ?>" name="down" data-arrow="el">down</a>
感谢
答案 0 :(得分:4)
$("a.vote[data-arrow='el']").click(function(){
alert("clicked");
});
这是jQuery的attribute equals selector。
但是,选择课程a
的所有vote
元素会不会更好?像这样:
$("a.vote").click(function(){...});
此外,建议使用on()
进行事件处理:
$(document).on("click", "a.vote[data-arrow='el']", function(e){
e.preventDefault();
alert("clicked");
});
答案 1 :(得分:1)
如果您尝试从点击处理程序中访问被点击的元素的数据,您可以这样做:
$(".vote").click(function () {
var arrow = $(this).data("arrow");
// do whatever you want with the value of the arrow variable
});
如果您正在尝试使用数据箭头值创建选择器,您可以(如Purmou的帖子中所示),但是添加另一个类并在选择器中使用它会更加清晰: / p>
<a href="" class="vote el" id="<?php echo $id ?>" name="up">up</a>
和jQuery选择器只选择那些元素:
$(".vote.el")