jquery - 请告诉我为什么这不起作用! (基本jquery)

标签 jquery html

脚本

 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 。

Live Demo

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>

作为补充说明

  • /关闭inputimg标签
  • 用双引号将属性值括起来,例如类型

您可以使用 jQuery click 来绑定(bind)事件,而不是您有疑问的内联事件绑定(bind)。我建议您使用一个类来绑定(bind)事件,为此您需要将类分配给 img。这将使 this 和 $(this) 在处理程序中可用。

Live Demo

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/

相关文章:

javascript - 起初它说它不是一个函数,现在它只是什么也没做

javascript - 我的 For 循环计时不正确,出了什么问题?

javascript - jQuery 日历与 mootool 图像 slider 冲突

javascript - 多个 Iframe 向同一个 SRC 发送一个请求

css - 如何在html邮件中添加 "Share"按钮?

javascript - 在 javascript 或 jquery 中从起点和终点创建 ip 范围

jQuery:如何更改旁边文本的图标

html - 三星 Galaxy Note 10.1 的机身宽度

javascript - 无法在移动 Chrome 中从 blob url 读取音频

javascript - 带有附件的电子邮件编辑器 Phonegap 插件无法在 iOS 中使用 imageURI