我有以下代码:
<li class="zoneName"><a href="/Default.aspx?PageID=4869007">CYKF</a></li>
<li class="zoneName"><a href="/Default.aspx?PageID=4868459">YKA</a></li>
我需要为每个&lt; li>此列表中的标签。我需要该ID作为href字符串末尾的数字。以下是我想要的
<li class="zoneName" id="4869007"><a href="/Default.aspx?PageID=4869007">CYKF</a></li>
<li class="zoneName" id="4868459"><a href="/Default.aspx?PageID=4868459">YKA</a></li>
感谢任何帮助。
答案 0 :(得分:3)
锚标记中的PageID是否写在服务器端循环中?您是否无法将其修改为将其写入<li>
标记?
答案 1 :(得分:1)
如果必须是jQuery,请转到
$("li a").each( function() {
var match = /PageId=(\d+)$/.exec(this.href);
if (match) $(this).parent("li")[0].id = match[1];
});
答案 2 :(得分:1)
$('ul > li > a').each(function(){
var element = $(this)
var tempid = element.attr('href').split('=')
element.parent('li').attr('id', tempid[tempid.length - 1])
})
请注意,仅将数字用作ID
并不是有效的答案 3 :(得分:0)
如果href
总是只在查询的PageID
部分中有整数,并且PageID
将是整数查询的唯一部分:
$('li').each( function() {
var href_val = $(this).children('a').attr('href');
var regex = '\b[0-9]+\b';
var new_id = new RegExp(regex, href_val);
$(this).attr('id', new_id);
});
这只是为了让你开始。使用更高级的正则表达式来实现未来发展。
答案 4 :(得分:0)
$("li>a").each(function(i,el){
var id = $(this).attr("href").split("=")[1];
$(this).parent().attr("id", id);
})