问题从另一个div内部提取div标签

时间:2013-01-12 08:07:04

标签: javascript html

我正在使用Javascript。 我的代码是:

var oldData  = document.getElementById(id).innerHTML;
alert(oldData);

alert is shown as : text<img src="add-icon.png"><div id = "1"></div>

此处旧数据包含文本,图像标记和div标记。问题是我想只访问div标签ID但我不知道如何获得它。请帮忙。 Thanx提前

2 个答案:

答案 0 :(得分:1)

使用vanilla JavaScript的事情是,您必须自己编写所有过滤器:)

var oldData = document.getElementById(id), firstDiv, id;
firstDiv = filterElements(node);
id = firstDiv.id;

function filterElements( node ){
     var children = parent.childElements, firstDiv, node;
     for (var i = 0; i < children.length; i += 1 ){
         node = children[i];
         if (node.tagName && node.nodeType && node.nodeType === 1 && 
                 node.tagName.toLowerCase() === "div"){
              firstDiv = node;
              break;
         }
     }
      return firstDiv;
}

答案 1 :(得分:0)

我建议使用jQuery。然后,您可以在其元素中访问存储为elem

的div中的id
$(elem).children("div").attr("id")

如果你通过ID知道父母,那么你可以这样做:

$("#"+id).children("div").attr("id")

甚至是这样:

$("#"+id+">div").attr("id")

当然,如果您希望ID只是访问一个元素,那么您不需要。要将新图像附加到div:

$("#"+id+">div").append("<img ...>")

$("#"+id+">div").append($("<img>"). ...)

另外,我建议使用类而不是童年来识别元素:

$("#"+id+" .image-holder").append(...)

$("#"+id+").find(".image-holder").append(...)