我正在这些行上创建动态列表:
<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);
});
这是您的代码的jsFiddle
<li>
元素应为<ul>
<a>
id
严格地更改为数字(因为您将其解析为整数),或者只是通过(C0]或其他方式检索数字部分)您的HTML无效,外部li应该是ul,它才有效。
substr
此行
<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'));
并且parseInt将不返回2,它将返回NaN。
您将必须使用正则表达式
var n2 = parseInt("id-2");
或拆分以取出数字
$(this).attr('id').match(/\d+/)[0]
或者您可以仅引用父母的身分证,如果这是一个有效的假设。
$(this).attr('id').split("-")[1]
您要在字符串上调用$(this).parent().attr('id')
。如果您知道自己的ID始终为parseInt()
格式,则可以这样做