jQuery中filter(),not(),split()的用法

时间:2022-08-15 10:14:50

filter(),not():

<script type="text/javascript">
$(document).ready(function() {
//输出 hello
alert($("p").filter(".selected").html());
//输出 How are you?
alert($("p").not(".selected").html());
});
</script> </head>
<body> <p class="selected">Hello</p><p>How are you?</p>
<!--
一个新的挑战是从一组类似或相同的元素中只选择某一个特定的元素。
jQuery提供了filter()和not()来做这个。
filter()能够将元素精简到只剩下满足过滤条件的那些,not()恰恰相反,他移除了所有满足条件的。-->
</body>

split():

split() 方法用于把一个字符串分割成字符串数组。
语法
stringObject.split(separator,howmany)
参数 描述
separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
返回值
一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。
但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)
<script type="text/javascript">
$(document).ready(function(){
$("input[@value=btn1]").click(function(){
//以¥分割
alert($("span.sale").text().split("¥")[2]+"||"+$("span.sale").text().split("¥")[1]+"||"+$("span.sale").text().split("¥")[0]);
}); });
</script>
</head> <body>
获取价格120:<input type="button" value="btn1" ><br> <span class="sale">
Out Sale: ¥160<br />
Deal Price: ¥120</span> <!--
应用split来解决这个问题。下面给出一个用split的实例:
msg ="2007/10/01";
msg = msg.split("/");
alert(msg[2]);
他会把 msg 分成一个3块组成一个数组 ,然后就可以轻松获取了。
-->
</body>

求助:filter在Firefox里出错,不知道是不是我写的不对?
 
var stext = $(data).filter('#content').html();
 
data是通过ajax取回的内容,我想进行筛选,只要取回内容里的ID为content的部分。

样的写法在IE里一切正常,不知道为什么在Firefox里就不行,用Firebug来进行查找错误,提示是jquery-1.2.1.js里第1521
行的“f = ('false||function(a,i){return ' + f +
'}');”这段有问题,不知道是不是BUG,也不知道该如何处理。折腾N久,近乎崩溃了!没办法,本人刚接触jQuery,还是个小菜鸟。
 
 
这个问题已经自己解决!
不知道有没有人遇到同样的问题,但我想还是分享一下自己的经验!

filter进行筛选的时候,固定的数据如 march.hu 所说的那个(var data =
"<p>第一段</p><p
id='second'>第二段</p>";),这种没有关系,但用AJAX取回动态数据进行筛选的时候,必须同时指定标签类型和
ID,才能正常进行筛选,要不然在Firefox下会出错。
错误的:var stext = $(data).filter('#content').html();
正确的:var stext = $(data).filter('div#content').html();