繁体   English   中英

jQuery的“:包含”替代链接

[英]jQuery “:contains” alternative for a links

jQuery中有一个选择器-:contains

例:

str = 'test';
blocked_div = $(".mydiv:contains("+str+")");
blocked_div.find('img').hide();
...
<a href="http://example.com">test</a>
...

据我了解,它是在“ .mydiv”元素内搜索“测试”文本。 但是现在我需要在“ .mydiv”元素内找到一个链接“ http://example.com”,并且:contains在这种情况下不起作用。 您可以推荐一个解决方案吗?

你的意思是:

$(".mydiv a[href='example.com']");

您还可以使用*=^=过滤器来查找分别在任意位置或字符串开头包含指定文本的链接。

// find links containing "example" in href at any place
$(".mydiv a[href*='example']");

对于您的str变量,您可以像这样修改它:

$('.mydiv a[href=' + str + ']'); // exact match
$('.mydiv a[href*=' + str + ']'); // contains str anywhere in href

您想测试字符串是否包含在HREF中吗? 这应该做到:

$('.mydiv a[href~='+str+']');

~=表示左侧的属性包含右侧的字符串。

更改选择器,如下所示:

var str = 'test';
$(".mydiv a:contains("+str+")").attr('href'); // return `href` attribute of that `a`
                                              // contains string test

获取具有特定href的链接

var str = 'http://example.com';
$(".mydiv a[href="'+ str+ '"]");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM