2015-09-08 68 views
0

(微博),我想,但不知道如何在開始使用此.attr鏈接/ A/HREF,如果選擇的元素包含特定單詞:如果DIV包含('文本'),jQuery:.attr到href?

$(".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); 
}); 
+2

你能解釋一下你的問題是什麼? – knugmast

+1

jfyi:'$(「a」)。attr(「href」,function(idx,oldValue){return'http://blankrefer.com/?'+ oldValue;});'和你的第二個例子一樣:) ['.attr()'](http://api.jquery.com/attr/#attr-attributeName-function) – Andreas

+0

你可以添加HTML嗎? – RRK

回答

0

您無法通過多個搜索字符串: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>

+0

這樣的事情? (函數()){$ tweet:contains('Anonymous')「)。each(function(){(」a「)。attr(」href「,function(idx,oldValue ){return'http://blankrefer.com/?+ oldValue;}); }); ** – computerguy

+0

對不起,但您的解決方案不起作用 – computerguy

+0

點擊上面的「運行代碼段」按鈕後,您將獲得只有匹配鏈接的href纔有提醒。爲什麼它不適用於你的情況?我錯誤地理解了你的問題嗎? –

相關問題