请原谅我的无知,但我是一个普通的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);
});
生活例子