![](/img/trans.png)
[英]How to select all the list items(li) between two specific list items using Javascript or Jquery
[英]How to select all items in a list using jQuery Selector
我正在這些行上創建一個動態列表:
<li class="MainMenuList" data-role=list-divider>
<li data-icon=check id="1">
<a name="n1" id="id-1">Text-1</a>
</li>
<li data-icon=check id="2">
<a name="n2" id="id-2">Text-1</a>
</li>
<li data-icon=check id="3">
<a name="n3" id="id-3">Text-1</a>
</li>
</li>
如何運行 JQuery .each() 選擇器來訪問列表中的所有值。 嘗試這個不會產生螞蟻結果。
$( ".MainMenuList li a" ).each(function( index ) {
var n1 = $(this).attr('name');
var n2 = parseInt ($(this).attr('id'));
alert( index + "-" + n1 + "-" + n2);
});
您的 HTML 無效,外部 li 應該是 ul 才有效。
<ul class="MainMenuList" data-role=list-divider>
<li data-icon=check id="1">
<a name="n1" id="id-1">Text-1</a>
</li>
<li data-icon=check id="2">
<a name="n2" id="id-2">Text-1</a>
</li>
<li data-icon=check id="3">
<a name="n3" id="id-3">Text-1</a>
</li>
</ul>
這條線
var n2 = parseInt ($(this).attr('id'));
是相同的
var n2 = parseInt("id-2");
並且 parseInt 不會返回 2,它會返回 NaN。
您將不得不使用正則表達式
$(this).attr('id').match(/\d+/)[0]
或拆分拉出號碼
$(this).attr('id').split("-")[1]
或者,如果這是一個有效的假設,您可以只引用父母的 id。
$(this).parent().attr('id')
您正在對字符串調用parseInt()
。 如果您知道您的 ID 將始終采用id-N
的形式,您可以這樣做
var id = $(this).attr("id");
var n2 = parseInt(id.split("-")[1]);
這是你的代碼的jsFiddle
<li>
元素應該是一個<ul>
<a>
id
更改為嚴格的數字(因為您將其解析為整數)或僅檢索數字部分(通過substr
或其他方式)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.