我有一个像这样的按钮:
<button data-id="1" onclick="showID()">Show ID</button>
一个功能:
<script>
function showID() {
alert(($(this).data("id")));
}
</script>
我只想让数据ID显示在警告框中。我也试过了
alert(($(this).data("id")));
但又没什么......
答案 0 :(得分:3)
$(this)
表示在草率模式下为global
或在严格模式下为undefined
。
你需要这样做:
<button data-id="1" onclick="showID(this)">Show ID</button>
<script>
function showID(elem) {
alert(($(elem).data("id")));
}
</script>
答案 1 :(得分:2)
试试这个
function showID(button) {
alert($(button).attr('data-id'));
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<button data-id="1" onclick="showID(this)">Show ID</button>
答案 2 :(得分:0)
目前this
不会为您提供正确的值,您的代码应该是这样的:
<button data-id="1" onclick="showID(this)">Show ID</button>
然后
<script>
function showID(e) {
alert(($(e).data("id")));
}
</script>
答案 3 :(得分:0)
this
并不像您尝试的那样工作。
点击后传递this
。
请查看 fiddle 。
以下是摘录。
function showID(ele) {
alert(($(ele).attr("data-id")));
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button data-id="1" onclick="showID(this)">Show ID</button>
&#13;
答案 4 :(得分:0)
这里有一个例子,您必须在按钮标记中传递id to function: