如何从包含html代码和许多ul标签及其ID的javascript变量中获取<ul> id </ul>

时间:2013-12-10 11:11:49

标签: javascript

var a="<input type="text" name="selRedencontact" id="selRedencontact"  />
<ul id="Redencontactmenu" class="mcdropdown_menu" style="z-index: 997 !important">
<input type="text" name="selRedencontact" id="selRedencontact"  />
<ul id="sRedencontactmenu" class="mcdropdown_menu" style="z-index: 997 !important">
<input type="text" name="selRedencontact" id="selRedencontact"  />
<ul id="tRedencontactmenu" class="mcdropdown_menu" style="z-index: 997 !important">";

如何从包含上述代码和许多ul标签及其ID的javascript变量中获取<ul> id。

输出应为: (Redencontactmenu,sRedencontactmenu,tRedencontactmenu)

尝试了以下代码但没有得到任何东西:

var elems = document.querySelectorAll('ul');
    for(var i = 0; i < elems.length; i++) {
        var elem = elems[i];
        alert(elem.innerHTML);
    }

4 个答案:

答案 0 :(得分:1)

HTML

中添加此内容
<input type="text" name="selRedencontact" id="selRedencontact"  />
<ul id="Redencontactmenu" class="mcdropdown_menu" style="z-index: 997 !important">
<input type="text" name="selRedencontact" id="selRedencontact"  />
<ul id="sRedencontactmenu" class="mcdropdown_menu" style="z-index: 997 !important">
<input type="text" name="selRedencontact" id="selRedencontact"  />
<ul id="tRedencontactmenu" class="mcdropdown_menu" style="z-index: 997 !important">

JavaScript

var elems = document.querySelectorAll('ul');
for(var i = 0; i < elems.length; i++) {
    var elem = elems[i];
    alert(elem.id);
}

答案 1 :(得分:0)

您可以使用JQuery库,并以这种方式执行:

$('ul').each(function(i)
{
   var elem = $(this);
   alert(elem.attr('id')); // alert the Id
   // do whatever you want to the element
});

答案 2 :(得分:0)

尝试:

var ptn = /<ul[^<]*\sid=(['|"])(.*?)\1/gi;

var ids = [];
while ((match = ptn.exec(str)) !== null) {
    ids.push(match[2]);
}

http://jsfiddle.net/rooseve/DAQwm/3/

答案 3 :(得分:0)

我认为这更容易使用:

var y = document.getElementsByTagName('ul').length;

for(var a=0; a<y; a++){
    alert(document.getElementsByTagName('ul')[a].id);
}