2014-07-02 113 views
0

值我有這樣充分利用李

<ul class="dropdown-menu btn-block pull-left" role="menu" aria-labelledby="dropdownMenu1"> 

    <li value="http://www.example.com/" role="presentation"> 
     <a role="menuitem" tabindex="-1" href="#">Example</a> 
    </li> 

</ul> 

列表和我試着用這個jQuery代碼

$(".dropdown-menu li").click(function(){ 
    console.log($(this).val()); 
}); 

擺脫李項的值「http://wwww.example.com」,但jQuery是選擇一個元素,因爲$(this).val()顯示爲0,$(this).text()顯示爲'Example'。我如何獲得li元素的價值?我試圖jquerys .parent(),但沒有奏效

回答

2

你必須抓住它作爲一個屬性,因爲它不是一個表單元素:

console.log($(this).attr('value')); 
+0

這不是真的推薦,因爲'value'不是'LI'的有效屬性;應該使用'data-value'。 – naomik

+0

@naomik根本不正確 - https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li - 'value'是一個有效的屬性,通常它只應該有一個數值,因爲這是一個無序列表,所以'value'屬性是沒有意義的,所以在這個實例中使用非數字屬性是安全的。 – dave

3

value不在li一個有效的屬性 - 你應該使用自定義屬性data-*通過驗證:

<li data-value="http://www.example.com/" role="presentation"> 

然後執行:

var site = $(this).data("value"); 
+0

很酷,我不知道'.data'也會讀取'data- *'屬性。我以爲你必須做'.attr(「data-value」)'。 – naomik