为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
JQuery

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():

程序代码
<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();

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消