应该得到子结点但不知怎么得到了父结点ID



大家好。我有密码。根据我的理解,clickd2应该得到id"Third",因为它正在寻找孩子。但不知何故,它总是得到id"第一"。我怎么得到"第三"?

<!DOCTYPE html>
<html>
<body>
    <div class="menu" id="First">
       <button id="Second">eee</button>
       <button id="Third">yyy</button>
    </div>
    <div class="holder"></div>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
          $(document).on('click', '.menu', function(e) {
               var clicked = e.target.id || this.id;
               var clicked2 = e.target.children.id || this.id;
               var y = clicked2.replace(/D/g, '');
               var x = clicked.replace(/D/g, '');
               var w = 0;
               $('.holder') .append('<BR>'+clicked+'<BR>'+clicked2);
               });
   </script>
</body>
</html>

添加此var clicked2 = $(this).children("button").next().attr("id")它将返回第二个按钮的id。

试试这个

$(document).on('click', '.menu', function(e) {
var clicked = e.target.id || this.id;
var clicked2 = $(this).children("button").next().attr("id") || this.id;

var y = clicked2.replace(/D/g, '');
var x = clicked.replace(/D/g, '');
var w = 0;
$('.holder') .append('<BR>'+clicked+'<BR>'+clicked2);
   });

演示

children()返回所有的子元素,所以您需要处理正确的子元素:

var clicked2 = $(this).children().next().attr("id");

最新更新