gpt4 book ai didi

javascript - 用给定节点包裹单个节点

转载 作者:行者123 更新时间:2023-11-28 01:09:58 26 4
gpt4 key购买 nike

我有一个picture指向 <img> 的变量我的文档树中的元素。我想用 <span> 来包装标签。当我使用普通 DOM 函数执行此操作时,一切都会按预期工作:

var container = document.createElement("span");
container.style.border = "1em solid red";
container.innerHTML = "Container";
picture.parentNode.appendChild(container);
container.appendChild(picture);
container.style.borderColor = "green"; // Result: green on screen

更具体地说,container指向唯一的<span> 。但是当我用 jQuery wrap() method 这样做时:

var container = $("<span></span>")
.css({border: "1em solid red"})
.text("Container");
container.css({borderColor: "yellow"}); // Result: yellow on screen
$(picture).wrap(container);
container.css({borderColor: "green"});

...查询克隆我的节点并将图片包裹在克隆周围,因此 container指向从未使用过且与文档保持分离的节点。我知道发生这种情况是因为 wrap() jQuery 链中的每个匹配元素都需要一个包装器对象(克隆完全有意义)。

有没有一种优雅的 jQuerish 方式来包装单个 <img>具有给定 <span> 的标签并保留对此类 <span> 的引用进一步使用?

最佳答案

这应该可以做到:

var picWrapper = $(picture).wrap(container).parent();

将其包装在 span 中后,span 元素将成为它的新父元素。

关于javascript - 用给定节点包裹单个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24578410/

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