jquery
2016-05-15 84 views -1 likes 
-1

我有一個rss鏈接。 sample.rss。我用firefox打開它並打開。jquery腳本不工作:試圖在現有鏈接後插入鏈接

在頁面

我嘗試:

$('h3>a>span').each(function() { 
    $(this).parent().after("<p>Test</p>") 
}) 

它的工作原理

但是當我嘗試

$("h3>a>span").each(function(){ 
    url1 = 'https://www.google.co.in/search?q="'+this.textContent+'"' 
    console.log(url1) 
    $(this).parent().after('<p></p><a href="'+ url1 +'">other</a>') 
}) 

它說語法錯誤:指定了無效或非法串

控制檯.log正確顯示url1變量。

最新的問題。

再下面的工作

$("h3>a>span").each(function(){ 
    url1 = 'https://www.google.co.in/search?q="'+this.textContent+'"' 
    console.log(url1) 
    $(this).parent().after('<p></p><a href="#">other</a>') 
}) 
+0

url1 =「https://www.google.co.in/search?q="+this.textContent; - 使它更簡單...引號是問題.... – sinisake

+0

問題是,我認爲,報價(如從來沒有提及);但在一個不相關的說明中,我建議不要在標題元素內創建一個段落;標題元素,正如其名稱所暗示的,是用於標題,而不是內容。此外,對於涉及JavaScript和HTML的問題,我們確實需要看到(代表性樣本)以減少您的問題;請:添加你的「[mcve]」代碼樣本,以便我們提供幫助。 –

+0

在示例網站上嘗試此代碼http://rss.cnn.com/rss/cnn_freevideo.rss –

回答

0

能否請您嘗試以下內容:

$("h3>a>span").each(function() { 
    url1 = 'https://www.google.co.in/search?q=' + this.textContent; 
    console.log(url1); 
    $(this).parent().after('<p></p><a href="'+ url1 +'">other</a>'); 
}) 
+0

最新的差異 –

+0

使var('url1')變得簡單並且放上必要的分號; – Pranab

0

在這裏你去:https://jsfiddle.net/69Ljogo0/1/

我收拾了代碼你。您的第一種方法幾乎是正確的:

$(".item h3 a").each(function(){ 
    var url1 = 'https://www.google.co.in/search?q=' + this.textContent; 
    console.log(url1); 
    $(this).after('<p><a href="'+ url1 +'">other<a></p>'); 
}); 

從您提供的http://rss.cnn.com/rss/cnn_freevideo.rss的內容。

+0

您也可以替換連接到標題的默認鏈接。即:$(this).attr('src',url1); – jake

0

我無法理解造成問題的原因。我在想可能會有一些語法錯誤。

我終於找到了這個代碼中的主要問題。

我想下面的工作賦予錯誤:

$("h3>a>span").each(function(){ 
    url1 = 'https://www.google.co.in/search?q="'+this.textContent+'"' 
    console.log(url1) 
    $(this).parent().after('<p></p><a href="'+ url1 +'">other</a>') 
}) 

問題與"。如果this.textContent包含空格或任何其他的東西,它會給出錯誤。

所以我用escape()函數,並改變了代碼以下列

$("h3>a>span").each(function(){ 
     url1 = 'https://www.google.co.in/search?q='+ escape('"'+this.textContent+'"') 
     console.log(url1) 
     $(this).parent().after('<p></p><a href="'+ url1 +'">other</a>') 
    }) 

我想這對http://rss.cnn.com/rss/cnn_freevideo.rss和它的工作。

如果我轉義整個網址,那麼當我點擊谷歌說錯誤頁面未找到。所以我逃的url只有部分

注:爲url1也不得含有&相反,它應與%26

它什麼時候通過JavaScript的運行,這是不能接受的URL特殊字符來代替。

相關問題