js用span包装每个h3标签



请原谅我的无知,但我是一个普通的jQuery用户,不得不在prototype.js网站上添加一些代码。我已经检查了文档,但仍然没有更明智的,我如何可以简单地包装每个h3元素在侧边栏与span标签。

我试了两种方法,都不行…

$$('.ipsLayout_right h3').wrap(span);

$$(".ipsLayout_right h3").each(function(element) {
    element.replace("<h3><span>" + element.innerHTML + "</span></h3>");
});

有人能帮我整理一下吗?

谢谢

PrototypeJS没有jQuery的基于集合的方法。最接近它的是它的invoke函数,它允许您对Enumeration中的所有元素"调用"一个方法:

$$('.ipsLayout_right h3').invoke("wrap", "span");

实际示例-但请参阅下面的

说明

旁注:在span中包装h3是无效的。span的内容模型是短语内容(如段落中的文本),但h3只能用于流内容(如整个段落)。

如果你想包装h3内容,允许这些内容可能是文本节点而不是元素的可能性,那么我很确定你必须做更多的工作:

$$('.ipsLayout_right h3').each(function(h3) {
  var span = new Element('span');
  while (h3.firstChild) {
    span.appendChild(h3.firstChild);
  }
  h3.appendChild(span);
});

生活例子

最新更新