2011-02-28 36 views
1

我被迫使用jquery,並不熟悉它。Jquery .attr轉換成我的鏈接到&!

無論如何,我存儲在一個跨度的鏈接<span id="link">http://x.com?x=1&x=2</span>

通過獲取一個變量,並使用此代碼$j("#sn_title").attr('href', news_link.html());把它放在一個鏈接的href,鏈接中的&轉換爲js文件查找時&amp;

任何線索?

+1

「被迫使用jQuery的」 哦,我的... – BoltClock 2011-02-28 18:03:33

回答

3

&amp;對於每個HTML規範的鏈接實際上是可以接受的(並且是首選)。

不過,如果你想讓它改變不了你在NEWS_LINK,你應該做的:$j("#sn_title").attr('href', news_link.text());

注意使用的.text()代替.html()

+1

的'attr'方法需要一個值,而不是逃脫來源。 '&'在這裏是不可接受的。 – SLaks 2011-02-28 18:06:57

2

html()方法返回的實際HTML元素。

&是HTML中的一個特殊字符(它用於實體)並且不能顯示爲普通字符。
您的HTML無效(&x不是實體),但瀏覽器在解析時會自動將其更正爲&amp;
jQuery在您提問時忠實地返回固定HTML。

如果您想要文本的元素,請撥打.text()

0

.html()將&更改爲html &(&),但使用.attr(「href」)設置鏈接路徑。

請訪問以下鏈接
jQuery html() and &amp;