0

嗨,我正在使用 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,但我不知道如何获取它。请帮忙。提前感谢

4

2 回答 2

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;
}
于 2013-01-12T08:16:39.860 回答
0

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

$(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(...) 
于 2013-01-12T08:30:27.070 回答