2017-05-07 237 views
1

我有以下代码。无法在jquery中获得价值

<ul class="multi-list tabs"> 
<li class="width-50 selected"><a class="first" value="123456">Mark Complete</a></li> 
<li class="width-50"><a class="last even" value="123456">Delete</a></li> 
<input type="hidden" name="wo[sub_complete_ids][]" value=""> 
<input type="hidden" name="wo[sub_delete_ids][]" value=""> 
</ul> 

我想获得li.selected a.first的值,但它的显示未定义。

我试的代码是

console.log($("ul.multi-list li.selected a.first").val()); 

什么错,因为它不显示值。预期值为123456.

此外,这个ul可以是多个。

回答

1

使用$().attr()而不是$().val(),因为后面一个是输入字段。最好使用jQuery的$.data(selector,key,value)方法在html元素中存储和检索数据。以下片段将从第一个链接获取值。

$(document).ready(function() { 
 
     alert($('ul.multi-list li.selected a.first').attr('value')); 
 
     });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul class="multi-list tabs"> 
 
    <li class="width-50 selected"><a class="first" value="123456">Mark Complete</a></li> 
 
    <li class="width-50"><a class="last even" value="123456">Delete</a></li> 
 
    <input type="hidden" name="wo[sub_complete_ids][]" value=""> 
 
    <input type="hidden" name="wo[sub_delete_ids][]" value=""> 
 
</ul>