我无法获得我点击的特定项目的价值
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$(this).click(function(){
alert($(this).find("button").html());
});
});
</script>
</head>
<body>
<p>test 1</p>
<p>test 2</p>
<button>Yes</button>
<button>No</button>
</body>
</html>
$(this).find("button").html()
,但即使点击了第二个按钮(“否”),它也会返回第一个按钮的值(“是”)$(this).find("p").html()
相同,将返回1st
$(this)
获取我点击的项目的值?答案 0 :(得分:2)
这是因为$(this).click
事件监听器被添加到document
对象而不是任何特定的html元素。
$(document).ready(function(){
$('button,p').on('click',function(){
alert($(this).html());
});
});
答案 1 :(得分:2)
如果您想点击每个按钮的html,请使用此功能。
$('button').click(function () {
alert($(this).html());
});
答案 2 :(得分:2)
this
始终是文档(您已将处理程序绑定到该文档),因此无法提供帮助。相反,使用像
$(document).click(function(e){
if ($(e.target).is("button"))
console.log($(e.target).text());
} else {
console.log("not clicked (directly) on a button");
}
});
或者更确切地说是
$(document).on("click", "button", function(e){
console.log($(this).text());
});
答案 3 :(得分:0)
在button
上绑定点击事件,并使用innerHTML
获取html元素的内容。
$(document).ready(function() {
$('button').click(function(event) {
alert(event.target.innerHTML);
});
});
&#13;
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>
<p>test 1</p>
<p>test 2</p>
<button>Yes</button>
<button>No</button>
</body>
</html>
&#13;
答案 4 :(得分:0)
你必须检测哪个$(this)是绑定的?尝试这样的事情:
<button class="btn red btn-xs editbtn" type="button" value="${rs.id}" value="${rs.id}">
$(function(){
$('.editbtn').click(function(e){
common.showSpinner();
var idbbpdtd = $(this).val();
});
});
答案 5 :(得分:0)
试试这个。
$(document).ready(function() {
$(this).click(function(event) {
alert(event.target.innerHTML);
});
});
在jQuery中event.target
总是引用触发事件的元素。