jquery位置选择器,jquery中提供的选择器
jquery 有几种选择器?jquery 如何提高执行效率
jQuery 选择器大体上可分为 4 类:基本选择器、层次选择器、过滤选择器、表单选择器。
提高jQuery的执行效率:
1.选择器性能排行:$("#ID") $("Tag") $(".Class") $("[attribute=value]")
2.链式调用:
$("#gbdiv").hide();
$("#gbdiv").css("color", "#202020");
$("#gbdiv").show();
上述代码使用下面的写法,可提高执行效率
$("#gbdiv").hide();.css("color", "#202020").show();
3.缓存caching
$("#gbdiv").hide();
$("#gbdiv").css("color", "#202020");
$("#gbdiv").show();
使用jquery选择器需要注意什么
注意,jquery对选择器的解析是从右到左,所以选择器越是靠右,越应该具体一些,这个有助于提升性能
JQuery有多少种选择器?
请参考文档网页链接,
一般用的比较多的是
ID选择器$("#id")
样式选择器 $(".Clssname")
元素选择器,如$("P") $("BODY")
jquery中的层次选择器都有哪些选择器
层次选择器
如果想通过DOM元素之间的层次关系来获取特定元素,例如后代元素、子元素、相邻元素和同辈元素等,那么层次选择器是一个非常好的选择。
$(“ancestor
descendant”):选取parent元素后所有的child元素
ancestor的中文意思是“祖先”,descendant的中文意思是“后代”
$(“body?div”)选取body元素下所有的div元素。????
$(“ul?li”)????选取ul元素下所有的li元素。????
$(“#test?div”)????选取id为“test”的元素所包含的所有的div子元素????
$(“div#test?div”)????选取id为“test”的div所包含的所有的div子元素????
$(“.test?div”)????选取class为“test”的元素所包含的所有的div子元素????
$(“div.test?span”)????选取class为“test”的div所包含的所有的span子元素????
$(“span.test?.demo”)????选取class为“test”的span所包含的所有的class为demo的元素????
$(“.test?.demo”)????选取class为“test”的元素所包含的所有的class为demo的元素
2. $(“parent
child”):选取parent元素后所有的直属child元素,何谓“直属”,也就是第一级的意思了
$(“body??div”)选取body元素下所有的第一级div元素。????
$(“ul??li”)????选取ul元素下所有的第一级li元素。????
$(“#test??div”)????选取id为“test”的元素所包含的所有的第一级div子元素????
$(“div#test??div”)????选取id为“test”的div所包含的所有的第一级div子元素????
$(“.test??div”)????选取class为“test”的元素所包含的所有的第一级div子元素????
$(“div.test??span”)????选取class为“test”的div所包含的所有的第一级span子元素????
$(“span.test??.demo”)????选取class为“test”的span所包含的所有的第一级class为demo的元素????
$(“.test??.demo”)????选取class为“test”的元素所包含的所有的第一级class为demo的元素
3.
$(“prev
+ next”):prev和next是两个同级别的元素. 选中在prev元素后面的next元素.
$(“#demo+img”)选在id为demo元素后面的img对象.如果id为demo元素后面没有同级的img对象,那么这个$(“#demo+img”).length=0
4.
$(“prev
~ siblings”):选择prev后面的根据siblings过滤的元素。注:siblings是过滤器
$(“#demo~[title]“)选择id为demo的元素后面所有带有title属性的元素,同样如果id为demo的元素后面没有一个带有title属性的元素,那么$(“#demo~[title]“).length = 0
JQuery选择器问题
怎么我测试你那个写法不行的?我用的是:$("#a li[title = 'why']").css("background-color","red");
[title = 'why'] 是jQuery的写法,就是title等于why的意思,不需要我们语言中的==。