2015-07-20 91 views
0

我有下面的html,用JS生成。用jQuery獲取屬性的值

<div lang="en" id="s7_videoview_playPauseButton" class="s7playpausebutton" data-description="Scene7ComponentHolder" data-component="PlayPauseButton" state="up" selected="true"></div> 

我要搶所選屬性的值時,該按鈕被點擊時,我使用這個代碼:

$(document).on('click ', '.s7playpausebutton', function(e) { 
    e.preventDefault(); 
    console.log($(this).attr('selected')) 
    $(this).val($(this).attr("selected")); 
}); 

,但它總是給我回來「選擇」,而不是實際的價值即。對或錯。哪裏不對?

+3

「選定」或「狀態」都不是「div」元素的有效屬性。將它們同時更改爲'data'屬性。 –

+1

使用'data- *'屬性....還有'$(this).text($(this).attr(「selected」));' –

+0

問題是第三方代碼,這就是添加的屬性。 – user1937021

回答

1

首先,請注意,所選屬性傳統上對於<option>元素而不是<div>元素是唯一的。這會導致jquery的$().attr()方法出現問題。然而,良好的舊JavaScript工作如預期。 與

this.getAttribute('selected'); 

更換

$(this).val($(this).attr("selected")); 

應該解決您的問題。

以下是jsfiddle的工作。