2017-06-03 57 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

相关问题