脚本
function myfn(){
var id= jQuery(this).find('input').val();
alert(id);
}
HTML
<div>
<img src=".." onclick="myfn()" >
<input type=hidden value=1 >
</div>
功能正常,但id值显示undefined。我已经包含了所有必要的 API。
最佳答案
您需要将使用它的事件源传递给 myfn,您还需要 next 而不是 find,因为 find 将查找后代,next 将查找 sibling 。
Javascript
function myfn(obj){
var id= jQuery(obj).next('input').val();
alert(id);
}
在 html 中
<div>
<img src=".." onclick="myfn(this)" >
<input type="hidden" value="1" >
</div>
作为补充说明
- 用
/
关闭input
和img
标签 - 用双引号将属性值括起来,例如
类型
和值
。
您可以使用 jQuery click 来绑定(bind)事件,而不是您有疑问的内联事件绑定(bind)。我建议您使用一个类来绑定(bind)事件,为此您需要将类分配给 img。这将使 this 和 $(this) 在处理程序中可用。
HTML
<img src=".." onclick="myfn(this)" class="my-class">
Javacript/jQuery
$('.my-class').click(function() {
var id = jQuery(this).next('input').val();
alert(id);
})
关于jquery - 请告诉我为什么这不起作用! (基本jquery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30859253/