2011-12-24 50 views

回答

7

this不是jQuery對象,它是實際的DOM元素。要將其轉換爲jQuery對象,請使用$(this)。所以:

$(this).addClass('selected'); 

中的jsfiddle另一個問題是,你沒有選擇<a>元素,你選擇<h2>。最後,鏈接正在被遵循。 Here's all that fixed.


別的東西,你可能會考慮是element.innerText沒有從我所看到的(即它只能在IE中工作)非常優秀的瀏覽器的支持。只是一個小點。

+0

由於內文,但字體顏色實際上沒有改變的方式,你能告訴我爲什麼嗎? – 2011-12-24 21:29:56

+0

@max_:這次是CSS問題 - *特性*之一。您的鏈接的CSS規則更具體,因此它們覆蓋了非特定規則'.selected'。你可以通過[添加!重要]來解決它(http://jsfiddle.net/v32qy/7/)。然而,這在IE6中不起作用,所以要麼使'.selected'更具體,要麼使其他規則更具體。 – Ryan 2011-12-24 21:32:05

+1

您可以使用'.text()'獲得更好的瀏覽器支持:http://jsfiddle.net/v32qy/8/ – mc10 2011-12-24 23:49:14

0

除了更正語法之外,還希望將類應用於錨點。

$('#textContainer h2 a').click(function() { 
    var title = this.innerText; 
    $(this).addClass('selected'); 
}); 
0

要訪問您必須使用$(this),而不是當前的元素只是this

這裏是更新的小提琴。 http://jsfiddle.net/v32qy/6/

我也改變了你正在使用jQuery text()功能

相關問題