2017-05-07 397 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>