【问题标题】:Prototype inner wrap原型内包装
【发布时间】:2012-04-06 02:36:16
【问题描述】:

我搜索了文档并尝试了各种技术,但没有找到合适的技术来实现以下 dom 操作:

<h3>hello</h3> 

<h3><a href="#">hello</a></h3>

谢谢。

【问题讨论】:

    标签: javascript prototypejs javascript-framework


    【解决方案1】:

    据我所知,Prototype 不等同于 jQuery 的 wrapInner()。但是,您可以使用innerHTML 模拟它:

    $$("h3").each(function(element) {
        element.replace("<h3><a href='#'>" + element.innerHTML + "</a></h3>");
    });
    

    【讨论】:

      【解决方案2】:

      Prototype 的wrap 确实适用于文本节点,但并没有说清楚,文本节点也没有以通常的方式扩展。此外,$$ 选择器不包括原生文本节点,因此您需要自己获取它们。

      var h3 = $$('h3').first(),
          text = h3.childNodes.first();
      Element.wrap(text, 'a', { href: '#' });
      

      【讨论】:

        猜你喜欢
        • 2021-09-11
        • 1970-01-01
        • 1970-01-01
        • 2018-06-26
        • 2019-07-15
        • 1970-01-01
        • 1970-01-01
        • 2016-06-16
        • 1970-01-01
        相关资源
        最近更新 更多