我有 1 个 block :
<div class="going" filmid="2">
<a href="">I am going!</a>
<div>Going too: 20</div>
</div>
和 5 个 block :
<div class="going">
<a href="">I am going!</a>
<div>Going too: 20</div>
</div>
区别在于一个 block 有filmid
属性。
我的 js 函数:
function setUpUpdateGoingCount() {
$("div.going a").click(function (e) {
e.preventDefault();
var filmId = $(this).parent("div").attr("filmid");
$.post("/Cinema/UpdateGoingCount", { id: filmId }, function () {
alert("test");
});
});
}
Click 事件与没有 filmid
属性的 block 一起工作。
你能解释一下为什么以及如何使第一个模块运行良好吗?
最佳答案
因为 filmid
不是 HTML 中存在的属性,所以您应该改用数据属性:
<div class="going" data-filmid="2">
您可以通过以下方式访问它:
var filmId = $(this).parent("div").data("filmid");
关于javascript - 选择器不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8586941/