Jquery 在访问自定义数据属性方面表现出一些非常奇怪的行为
这是HTML
<div id="foo2" data-bar="bar" class="baz">some text</div>
jQuery
$(document).ready(function() {
$("#mainPage").on("click", "[id^='foo']", doSomething);
});
function doSomething(e) {
var bar = $(e.target).attr("data-bar");
}
这给出了 bar = undefined
然而
function doSomething(e) {
e.target
var bar = $(e.target).attr("data-bar");
}
给出 bar = "bar"
我觉得这非常奇怪。在 Chrome 调试控制台上,它清楚地显示了数据集或目标持有bar: "bar"
但没有e.target
它返回undefined
。这是某种错误吗?