jquery选择器需要注意的问题
作者:bea
我们先来看段代码,很简单,如下 代码如下: <div id="div1"> <span>111</span> <span>222</span> <span>333</span> <button id="button1">clear</button> </div> 代码如下: $(function() { $("#butt
我们先来看段代码,很简单,如下
代码如下:
<div id="div1">
<span>111</span>
<span>222</span>
<span>333</span>
<button id="button1">clear</button>
</div>
代码如下:
$(function() {
$("#button1").click(function() {
$("#div1 span").html("aaa");
});
});
$("#div1 span")获得三个对象的数组
1.如果执行 $("#div1 span").html("aaa"),则数组内的所有对象都会改变.如下图
2.如果执行$("#div1 span").html(),只取值的话,则只会取数组第一个对象的值
所以如果选择器获得是一个数组,要对数组每个元素都进行操作时,最好用each().
另外还有些注意事项
选择器中含有特殊符号的注意事项选择器中含有“.”、“#”、“(”或“]”等特殊字符根据W3C的规定,属性值中是不能含有这些特殊字符的,但在实际项目中偶尔会遇到表达式中含有“#”和“.”等特殊字符,如果按照普通的方式去处理出来的话就会出错。
解决此类错误的方法是使用转义符转义。 <div id="id#b">bb</div> <div id="id[1]">cc</div>
不能这样写: $('#id#b'); $('#id[1]'); 应该使用转义符号: $('#id\#b'); //转义特殊字符“#” $('#id\[1\]'); //转义特殊字符“[ ]”
有用 | 无用
代码如下:
<div id="div1">
<span>111</span>
<span>222</span>
<span>333</span>
<button id="button1">clear</button>
</div>
代码如下:
$(function() {
$("#button1").click(function() {
$("#div1 span").html("aaa");
});
});
$("#div1 span")获得三个对象的数组
1.如果执行 $("#div1 span").html("aaa"),则数组内的所有对象都会改变.如下图
2.如果执行$("#div1 span").html(),只取值的话,则只会取数组第一个对象的值
所以如果选择器获得是一个数组,要对数组每个元素都进行操作时,最好用each().
另外还有些注意事项
选择器中含有特殊符号的注意事项选择器中含有“.”、“#”、“(”或“]”等特殊字符根据W3C的规定,属性值中是不能含有这些特殊字符的,但在实际项目中偶尔会遇到表达式中含有“#”和“.”等特殊字符,如果按照普通的方式去处理出来的话就会出错。
解决此类错误的方法是使用转义符转义。 <div id="id#b">bb</div> <div id="id[1]">cc</div>
不能这样写: $('#id#b'); $('#id[1]'); 应该使用转义符号: $('#id\#b'); //转义特殊字符“#” $('#id\[1\]'); //转义特殊字符“[ ]”
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- Javascript前端UI框架Kit使用指南之kitjs的对话框组件
- Javascript前端UI框架Kit使用指南之Kitjs简介
- 非jQuery实现照片散落桌子上,单击放大的LightBox效果
- 开源的javascript项目Kissy介绍
- jquery 操作css样式、位置、尺寸方法汇总
- javascript基本类型详解
- javascript中数组array及string的方法总结
- 20条学习javascript的编程规范的建议
- 20个实用的JavaScript技巧分享
- js获取浏览器基本信息大全
- jQuery实现多按钮单击变色
- jQuery的ready方法详解
- javascript 面向对象封装与继承
- javascript制作坦克大战全纪录(2)
- javascript制作坦克大战全纪录(1)
- 使用jsonp完美解决跨域问题
- JavaScript变量声明详解
- js脚本实现数据去重
- javascript几个易错点记录