2011-12-29 49 views
1

我希望捕獲的是錨鏈接標籤之間的文本,並將其所以它看起來像http://mysite.com/events/Pages/default.aspx?cat=cancer捕獲鏈接文字和附加到URL作爲查詢字符串

我之所以可以傳遞給href值作爲查詢字符串不要手動添加,因爲它們之間的值是動態的。我如何捕獲並追加到URL使用jQuery或JavaScript?

或者我可以,也許,以被點擊癌症聯繫的情況下,直接到http://mysite.com/events/Pages/default.aspx?cat=cancer

<a href="http://mysite.com/events/Pages/default.aspx?cat="> Cancer</a> 

回答

3
$("a").on("click", function (e) { 
    e.preventDefault(); 
    window.location = this.href + $.trim($(this).text()); 
}); 

或者你也可以更換href屬性爲每個鏈接:

$("a").prop("href", function() { 
    return this.href += $.trim($(this).text()); 
}); 

然後點擊每個鏈接將自動引導用戶。您的選擇($("a")應更加具體,這取決於你的標記)

例子:http://jsfiddle.net/6U749/

編輯:如果你有行內做到這一點,這裏有一個方法:

<a href="http://mysite.com/events/Pages/default.aspx?cat=" onclick="window.location.href = this.href + $.trim($(this).text());"> Cancer</a> 
+0

謝謝。我想在鏈接本身上添加onclick事件,如下所示:(標籤HREF值onclick帶我到HREF值+ LinkText)(關閉標籤) – 2011-12-29 16:54:39

+1

@AnjuThapa:第二種方法應該完成此操作。考慮將您的標記(HTML)與您的行爲(JavaScript)完全分離,以獲得更易維護的代碼。 – 2011-12-29 16:55:27

+0

我知道ü意味着,但我對XSL文件中像這樣:的onClick =「location.href = 'HTTP://mysite.com/events/Pages/test1.aspx KWD =' +的document.getElementById('EventSearchBox 「).value的; – 2011-12-29 16:57:51

0

你可以這樣做:

$('.someClassImStickingOnLinksThatNeedThisBehavior').each(function() 
{ 
    this.href = $.trim(this.href) + $.trim(this.innerHTML); 
}); 

然後,對於任何鏈接,它都會自動將HREF更新爲當前的HREF加上節點的值。

0

你可以這樣做:

var yourlink = $("#youlink"); 
var href = yourlink.attr("href"); 
var text = yourlink.html(); 

yourlink.attr("href", href + "?cat=" + text);