jQuery:如果DIV包含('text'),.attr到href?
Posted
技术标签:
【中文标题】jQuery:如果DIV包含(\'text\'),.attr到href?【英文标题】:jQuery: .attr to href if DIV contains('text')?jQuery:如果DIV包含('text'),.attr到href? 【发布时间】:2015-12-03 16:29:18 【问题描述】:(Twitter) 我正在尝试,但不确定如何在 links/A/href 开头使用 .attr,如果所选元素包含某些单词:
$(".tweet:contains('government','Anonymous')").each(function()
$old_url = $(this).attr('href');
$new_url = 'http://blankrefer.com/?'+$old_url;
$(this).attr('href',$new_url);
);
这可行,但没有文本检测:
$("A").each(function()
$old_url = $(this).attr('href');
$new_url = 'http://blankrefer.com/?'+$old_url;
$(this).attr('href',$new_url);
);
【问题讨论】:
你能解释一下你的问题是什么吗? jfyi:$("a").attr("href", function(idx, oldValue) return 'http://blankrefer.com/?' + oldValue; );
和你的第二个例子一样:) .attr()
并使用 Andreas 的示例,您可以在 return 函数中使用 if-contains 来返回原始或修改后的 url
它仍然不适用于单词检测@andreas
【参考方案1】:
您不能将多个搜索字符串传递给:contains
,有关详细信息,请参阅this。您可以使用逗号分隔符将选择器与另一个搜索字符串重复,如下所示。
$(function()
$(".tweet:contains('government'),.tweet:contains('Anonymous')").each(function()
$old_url = $(this).attr('href');
alert($old_url);
$new_url = 'http://blankrefer.com/?'+$old_url;
$(this).attr('href',$new_url);
);
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<a class="tweet" href="gov">government one</a>
<a class="tweet" href="ano">Anonymous one</a>
<a class="tweet" href="gov2">govern two</a>
【讨论】:
这样的? $(function() $(".tweet:contains('Anonymous')").each(function() $("a").attr("href", function(idx, oldValue) return 'blankrefer.com?' + oldValue; ); ); 点击上方的“运行代码 sn-p”按钮后,您将收到仅匹配链接的 href 的警报。为什么它不适用于您的情况?我是不是理解错了你的问题? 检查浏览器上的控制台错误或在 jsfiddle 链接上重新创建问题并与我分享以上是关于jQuery:如果DIV包含('text'),.attr到href?的主要内容,如果未能解决你的问题,请参考以下文章
jquery中动态添加div, 然后在div中动态添加<a>标签和事件, 怎么样把text的值 改变成<a> 标签或者增加属性