gpt4 book ai didi

javascript - 获取包含属性的开始标记 - 没有 innerHTML 的 outerHTML

转载 作者:可可西里 更新时间:2023-11-01 01:38:37 25 4
gpt4 key购买 nike

我想从 DOM 中检索某个标记元素及其属性。例如,来自

<a href="#" class="class">
link text
</a>

我想得到 <a href="#" class="class"> , 可选择结束 </a> ,作为字符串或其他一些对象。在我看来,这类似于检索 .outerHTML没有 .innerHTML .

最后,我需要它通过 jQuery 包装一些其他元素。我试过了

var elem = $('#some-element').get(0);
$('#some-other-element').wrap(elem);

但是.get()返回包含其内容的 DOM 元素。还有

var elem = $('#some-element').get(0);
$('#some-other-element').wrap(elem.tagName).parent().attr(elem.attributes);

失败为 elem.attributes返回 NamedNodeMap这不适用于 jQuery 的 attr()我无法转换它。承认上面的例子不是很有意义,因为它们也复制了元素的不再唯一的 ID。但是有什么简单的方法吗?非常感谢。

最佳答案

有一种方法可以在没有 jQuery 的情况下做到这一点。这也适用于 <br>标签,<meta>标签和其他空标签:

tag = elem.innerHTML ? elem.outerHTML.slice(0,elem.outerHTML.indexOf(elem.innerHTML)) : elem.outerHTML;

因为 innerHTML 在自闭合标签中为空,并且 indexOf('')总是返回 0,上面的修改检查是否存在 innerHTML首先。

关于javascript - 获取包含属性的开始标记 - 没有 innerHTML 的 outerHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9604235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com