Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquery获取父元素的子元素_Jquery - Fatal编程技术网

使用jquery获取父元素的子元素

使用jquery获取父元素的子元素,jquery,Jquery,我有一个自动生成HTML代码的页面,如下所示: <span> <img class="myimage" src="example.jpg"/> <button onclick="do()">Do something</button> </span> <span> <img class="myimage" src="example2.jpg"/> <button onclick="do()">Do s

我有一个自动生成HTML代码的页面,如下所示:

<span>
<img class="myimage" src="example.jpg"/>
<button onclick="do()">Do something</button>
</span>

<span>
<img class="myimage" src="example2.jpg"/>
<button onclick="do()">Do something</button>
</span>

在函数
中,此
指的是窗口对象

要使功能正常工作,每个按钮都应将此即自身传递给功能。此外,正如评论中提到的@T.J.Crowder,您不能将
do
用作函数名-它是一个函数名


有两个问题:

  • 不能有名为
    do
    的函数
    do
    是一个关键字

  • 此函数中的
    将是对全局对象的引用,而不是对单击的按钮的引用

  • 要解决此问题,请执行以下操作:

  • 更改函数的名称

  • 或者使用现代技术将其连接起来(然后
    this
    将引用该按钮),或者更改
    onclick
    属性以将
    this
    传递给它并使用第一个参数

  • 下面是一个关于的示例:

    $(“.do something btn”)。在(“单击”,函数()上{
    var pic=$(this.parent().find(“.myimage”);
    警报(图片属性(“src”);
    });
    
    
    做点什么
    做点什么
    
    问题之一是:如果打开web控制台,您会发现错误:
    do
    不是有效的函数名,因为它是一个关键字。
    function do() {
        var pic = $(this).parent().find(".myimage");
        //do something                      
    }
    
    <span>
    <img class="myimage" src="example.jpg"/>
    <button onclick="func(this)">Do something</button>
    </span>
    
    <span>
    <img class="myimage" src="example2.jpg"/>
    <button onclick="func(this)">Do something</button>
    </span>
    
    function func(ele) {
      var pic = $(ele).parent().find(".myimage");
      //do something
    }