簡體   English   中英

為什么父母不在jQuery中工作?

[英]why parent is not working in jquery?

你能告訴我為什么parent函數不能正常工作嗎?

這是我的代碼

https://jsbin.com/gefacenefi/edit?html,js,輸出

 $(function () {

        $('.add').click(function () {
            $('.item').parent('li.nn').css('color', 'red');
        });

    });

預期輸出此文本為紅色

<li class="nn">bhiooo</li>

您正在嘗試調用其他節點的父節點。 嘗試這個

$('.add').click(function () {
  $('.item').parent().siblings('li.nn').css('color', 'red');
});

請執行以下操作:

$(function () {
    $('.add').click(function () {
      $('.item').parent().siblings('li.nn').css('color', 'red');
    });
});

另外,您沒有正確關閉li元素。 結構應如下所示:

<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8">
   <meta name="viewport" content="width=device-width">
   <title>JS Bin</title>
   <script src="https://code.jquery.com/jquery-2.1.4.js"></script>
</head>
<body>
   <button class="add">filler</button>
   <div>
      <ul>
         <li class="nn">bhiooo</li>
         <li class="m">hello22
            <ul class="item">
                <li class="abc">123</li>
                <li class="pp">12</li>
                <li class="abc">78</li>
                <li class="ac">13</li>
                </li>
            </ul>
         </li>
      </ul>
   </div>
</body>
</html>

你UL .item沒有受到.nn

更改HTML或改編JS

$('.item').parent().prev('li.nn').css('color', 'red');

試試下面的代碼

$('.add').click(function () {
  $('.item').parents().find('.nn').css('color', 'red');
});

這是工作中的jsfiddle: https ://jsfiddle.net/nq9tzafz/

我認為這應該對您有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM