jq查找字段忽略html标签,jquery内容过滤选择器有哪些?

jQuery内容过滤选择器的过滤规则主要运用在DOM元素所包含的子元素或其文本内容上,主要包括四种过滤方法: :contains(text)、:empty 、:has(seletor) 、:parent。

a601627cd2712926f3662550747c0da7.png

先写几个DOM元素的HTML结构:

John Resign
George Martin
Malcom John Sinclair
J.Ohn

Has p

:contains(text)E:contains(text) //E是指DOM元素,:contains(text)包含的文本,text是指定查找的字符串

描述:

选取含有文本内容为“text”的元素

返回值:集合元素

实例:

$(document).ready(function(){

$('div:contains(John)').css('background','#f36');

});

功能:

改变含有文本为“John”的div元素的背景色

效果:

0082d6e5a2f609b16d0789b8b3315850.png

回到前面的HTML结构中我们可以看出其中有两个div元素中包含了"John"文本,因为我们这里主要是改变了包含文本“John”的div的背景色,因此大家在效果中可以看出我们其中第一个和第三个div的背景色变成了"#f36",为了更能体会从中的变化,大家可以通过Firefox中的Firebug工具看出HTML的变化:

1d89a6e54403cb1d0e7036350916a494.png

:emptyE:empty //其中E为DOM元素,:empty是指DOM元素中不包含任何子元素或文本

描述:

选取不含任何子元素或文本的空元素

返回值:集合元素

实例:

$(document).ready(function(){

$('div:empty').css('background','#f36');

});

功能:

改变不含子元素(包括不含文本元素)的div的背景色,换句话说,就是改变不包含任何东西的div的背景色

效果:

b7135c8df2a91b0bcde78a93a65c5a14.png

虽然我们前面的html中所有元素中不包含子元素,但有一些包含了文本元素,只有一个div和一个p元素具没有子元素也没有文本内容。加上我们这个例子中,我们只对不包含子元素和文本内容的div进行了改变背景色的设置,所以我们的效果中只有div加上了“#f36”的背景色,同样我们来看看HTML的变化吧:

1aa779a88d064ebdfd76eab87a75764b.png

:has(selector)E:has(selector) //其中E为有效果DOM元素标签,:has(selector)含有一个选择器,selector用于筛选的选择器

描述:

选取含有选择器所匹配的元素的元素

返回值:集合元素

实例:

$(document).ready(function(){

$('div:has(p)').css('background','#f36');

});

功能:

改变含有子元素P的div元素的背景色

效果:

a46bc5ec5a4ce35b8577ef16b6dc6cf9.png

在我们这个实例中,只有一个div中包含了子元素P,所以包含了符合这个要求的div元素其背景色被设置为“#f36”,改变后的HTML:

d58c1d34ae43b0584a3495989db67d37.png

:parentE:parent //E为有效的DOM元素标签,:parent含有子元素或文本内容

描述:

选取含有子元素或者文本的元素标签

返回值:集合元素

实例:

$(document).ready(function(){

$('div:parent').css('background','#f36');

});

功能:

改变含有子元素或文本内容的div的背景色。换句话说只在div包含了任何一个子元素或者任何内容,其背景色都将会改变。

效果:

44234291c8aa8f6437dd4b1d62ab699e.png

本例子,只有一个div和一个p元素中不包含任何子元素和文本内容,因为我们这里是对div进行设置,所以效果中显示,除了这两个不含有子元素和任何内容的div的背景色都变成了“#f36”,变化后的HTML:

6e4f9e5609a333a3b4c9edf461ee7f49.png

更多jQuery相关技术文章,请访问 jQuery答疑 栏目进行学习!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值