簡體   English   中英

jQuery:防止孩子繼承父級的屬性?

[英]jQuery: Prevent child from inheriting the parent's attributes?

使用jQuery:如何防止子級( <span> )繼承父級( <p> )屬性? 我一直在研究2個小時以上; 沒有任何效果。

問題部分:

$("p").not("span").css("cursor", "pointer");

<p>...<span>...</span></p>

完整代碼:

<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<style>body {font-family:Arial,san-serif;font-size:25pt;}</style>
<body>
<p>Always shown | <span>Show/Hide</span></p>
<p>Always shown | <span>Show/Hide</span></p>
</body>

<script>
//Change pointer to a hand:
$("p").not("span").css("cursor", "pointer");
//Show & Hide by clicking on "Always shown":
function handler(event) {
  var target = $(event.target);
  if (target.is("p")) {
    target.children().toggle();
  }
}
$("body").click(handler).find("span").hide();
</script>

為什么不使用CSS?

p{ cursor: pointer; }
p span{ cursor: default; }

表達$("p").not("span")字面意思是“選擇p不在元件spans ”。 顯然,這始終是正確的。

您要檢查p是否不包含span子代:

$("p:not(:has(span))").css("cursor", "pointer");

但是,對於此任務,您可能應該使用CSS解決方案,而不是javascript。

你可以試試這個: 小提琴

p:hover {
    cursor: pointer;
}
span:hover {
    cursor: default;
}

如果您想在Jquery上完成操作,也可以使用這種方法:

$("p").css("cursor", "pointer");
$("p span").css("cursor", "default");

暫無
暫無

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

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