2017-06-03 80 views
0

我知道很多事情可以用不同的方式來完成,其中沒有一個必然比別人更好;因此,有多種方法可以做到這一點通常是很好的:但是,jQuery的'.add()'方法和jQuery逗號選擇器只是兩種方法可以做同樣的事情,或者彼此不同(在這個特殊的用法中作爲選擇器)?在jQuery中,'.add()'和','(逗號)之間有什麼區別?

$("p").add("span").css("background", "yellow"); 
$("p, span").css("background", "yellow"); 

https://jsfiddle.net/rudijuri/gg3vfmcp/3/

(遺憾的外部鏈接的jsfiddle,但片斷現在不使用觸摸設備,像我這樣的工作)

回答

1

本質上它們是相同的。由於對multiple selectors(「selector1, selector2, selectorN」))jQuery的文件說(重點煤礦):

您可以指定任意數量的選擇的結合成一個單一的 結果。這個多重表達組合子是一種有效的方式來選擇不同的元素。 返回的jQuery對象中的DOM元素的順序可能不完全相同,因爲它們將在 文檔中排序。 該組合器的替代方法是.add() 方法

1

在這種情況下使用它作爲一個平行的選擇或p和跨度的對象,如果你想選擇是在p對象,您必須插入跨度:

$("p > span").css("background", "yellow"); 

$("p").find("span").css("background", "yellow"); 
+0

你的答案圍繞着後代或子元素,OP沒有詢問什麼 – j08691

相關問題