文章目录
-
- prop()方法与attr()方法回顾
- 正则表达式相关内容
prop()方法与attr()方法回顾
一.prop()方法
- 语法:
$(selector).prop(property)
prop()
方法设置或返回被选元素的属性和值。
eg:
$(document).ready(function(){//全选$("#checkAll").click(function(){$("[name=checkItem]:checkbox").prop("checked",true);});//全不选$("#noCheckAll").click(function(){$("[name=checkItem]:checkbox").prop("checked",false);});});
- 当该方法用于返回属性值时,则返回第一个匹配元素的值。当该方法用于设置属性值时,则为匹配元素集合设置一个或多个属性/值对。
prop()
方法应该用于检索属性值,例如DOM
属性(如selectedIndex, tagName, nodeName, nodeType, ownerDocument, defaultChecked, 和 defaultSelected)。
- 如需移除属性,请使用
removeProp()
方法。
原则使用:
- 只添加属性名称该属性就会生效应该使用
prop()
; - 只存在
true/false
的属性应该使用prop()
二.attr()方法
三种用法
<p title="你最喜欢的水果是。">你最喜欢的水果是?</p>
<ul><li title="苹果汁">苹果</li><li title="橘子汁" value="123">橘子</li><li title="菠萝汁">菠萝</li>
</ul>
1、获取属性的值 attr(value)
,可以获得属性值
<script>
alert($("ul li:eq(1)").attr("title"));
</script>
结果:获取的为第一个:“苹果汁”
2、改变属性值attr(name,value)
把name
的值改变成value
。
<script>
$("ul li:eq(0).attr("title","不吃香蕉")
</script>
补充说明:eq()
方法将匹配元素集缩减值指定 index
上的一个
语法:
.eq(index)
index - 可正可负
<ul><li>list item 1</li><li>list item 2</li><li>list item 3</li><li>list item 4</li><li>list item 5</li>
</ul>
?
<script>$('li').eq(-2).css('background-color', 'red');</script>
结果显示:
详见 jQuery遍历参考手册
3、函数使用attr(attribute,function(index,oldvalue))
注意:attr()
用于检索HTML属性
<script>
$("ul li:eq(1)").attr("title",function(){ return this.alt});
alert($("ul li:eq(1)").attr("title"));
</script>
4、 也可为其设置 className
,id
,style
等或者使用removeAttr
移除
<script>
$("ul li:eq(1)").attr({className:"lili"});
$("ul li:eq(1)").attr({style:"color:red"});
$("ul li:eq(1)").removeAttr ("title");
</script>
正则表达式相关内容
- 在代码中常简写为
regex、regexp
或RE
- 语法:
/正则表达式主体/修饰符(可选)
var patt = /baidu/i
var patt=new RegExp(pattern,modifiers);
i - 修饰符是用来执行不区分大小写的匹配。
g - 修饰符是用于执行全文的搜索(而不是在找到第一个就停止查找,而是找到所有的匹配)。
具体见:RegExp 对象
- **
**exec()**
**检索字符串
exec()
方法用于检索字符串中的正则表达式的匹配,如果exec()
找到了匹配的文本,则返回一个结果数组。否则,返回null
语法:
RegExpObject.exec(string)
string-要检索的字符串
2.检索实例:
var str = "Visit W3School, W3School is a place to study web technology.";
var patt = new RegExp("W3School","g");
var result;while ((result = patt.exec(str)) != null) {document.write(result);document.write("<br />");document.write(patt.lastIndex);document.write("<br />");}
/e/.exec("The best things in life are free!");
这个是搜索字符串中的字母 “e”:字符串中含有 “e”,所以该实例输出为:e
返回结果展示:
***search()***
search()
方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。显示查找的位置,如果没有找到任何匹配的子串,则返回 -1且search()
方法不执行全局匹配,它将忽略标志 g
。它同时忽略 regexp
的 lastIndex
属性,并且总是从字符串的开始进行检索,这意味着它总是返回 stringObject
的第一个匹配的位置。
实例:
检索字符串中 "Runoob" 的子串:var str = "Visit Runoob!";
var n = str.search("Runoob");输出结果为:6忽略大小写:
var str="Mr. Blue has a blue house";
document.write(str.search(/blue/i));
- ***
replace()
***方法:查找并替换
语法:
1.
stringObject.replace(regexp/substr,replacement)
如果regexp
具有全局标志g
,那么replace()
方法将替换所有匹配的子串,否则,它只替换第一个匹配子串。
例如:
document.write(str.replace(/Microsoft/g, "W3School"))
regexp/substr
-规定子字符串或要替换的模式的RegExp
对象。
replacement
- 一个字符串值。规定了替换文本或生成替换文本的函数。
replacement
中的 $
字符具有特定的含义。如下表所示,它说明从模式匹配得到的字符串将用于替换。
详见 replacement解析