【问题标题】:how to access a tags with the same classname and handle onClick using javascript?如何访问具有相同类名的标签并使用javascript处理onClick?
【发布时间】:2012-01-24 22:44:26
【问题描述】:

我有两个具有相同类名的选择下拉菜单,我想在选择选项值时返回标题。但是使用我的代码,当第二个下拉列表更改时,它仍然返回在第一个选项下拉列表中选择的值

http://jsfiddle.net/kgrg/ETeZe/3/

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    你用来提取值的代码:

    size_title=jQuery('.child_Select_Size  option:selected').attr("title");
    

    匹配所有.child_Select_Size 元素。要仅限于触发事件的事件,请尝试:

    size_title=jQuery('option:selected', this).attr("title");
    

    【讨论】:

      【解决方案2】:

      因为在change 处理程序内部jQuery('.child_Select_Size option:selected') 将同时选择元素selected option 并在这些匹配的元素上调用attr('title') 将始终给出第一个元素的title

      您应该使用指向引发事件的elementthis 关键字。 $(this).find 只会查看引发事件的元素内部。如果没有冲突,也可以使用$ 而不是jQuery,或者使用jQuery.noConflict()

      $('.child_Select_Size').change(function(elmt){
          alert($(this).find('option:selected').attr("title"));
      });
      

      Demo

      【讨论】:

        【解决方案3】:

        您只需要使用 $(this) 来引用已更改的选择框,而不仅仅是使用新的选择(它将抓取所有内容)。

        http://jsfiddle.net/ETeZe/10/

        【讨论】:

        • 另外,我删除了您的脚本中一些不必要的复杂性。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-30
        • 2021-07-10
        • 1970-01-01
        • 2023-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多