jQuery中选择器的使用问题
$(“div.str>div”)和$("div.strdiv")的区别,什么情况下应该用哪种?为什么选定class的时候要写成div.str这种形式,而不是.str?...
$(“div.str>div”)和$("div.str div")的区别,什么情况下应该用哪种?为什么选定class的时候要写成div.str这种形式,而不是.str?
展开
2个回答
展开全部
$("div.str>div") 与 $("div.str div")的区别,在于选择的范围大小不同或者说选择的层级不同。
$("div.str>div") 意思为: 在class为str的div下面选择所有的div子元素。
$("div.str div") 意思为:在class为str的div下面选择所有的div元素。
当只需要定位到子元素时,使用上面的语法;
而当选择的范围扩散到更深层的元素时,使用下面的语法。
选定class的时候直接写成.str的语法,没有问题,但是有可能出现丧失精准度的现象。
举个简单的例子:<div class=".str"></div><span class=".str"></span>
这时使用$(".str")会得到两个对象,所以这种写法不如$("div.str")来的定位更准确。
通过使用前置标签来达到精确获取对象,更能提高效率。
-------------------------------------------------------------------------------------------------
$("div.str>div") 意思为: 在class为str的div下面选择所有的div子元素。
$("div.str div") 意思为:在class为str的div下面选择所有的div元素。
当只需要定位到子元素时,使用上面的语法;
而当选择的范围扩散到更深层的元素时,使用下面的语法。
选定class的时候直接写成.str的语法,没有问题,但是有可能出现丧失精准度的现象。
举个简单的例子:<div class=".str"></div><span class=".str"></span>
这时使用$(".str")会得到两个对象,所以这种写法不如$("div.str")来的定位更准确。
通过使用前置标签来达到精确获取对象,更能提高效率。
-------------------------------------------------------------------------------------------------
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询