2014-07-02 75 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