我想通过使用mootools在标签<br />
之后插入一个break元素<label>
。不幸的是,这行代码不起作用:
$$('.class-name label').inject('<br />', 'after');
我应该先用mootools创建元素<br />
吗?谢谢你的回复。
答案 0 :(得分:3)
这不是有效的元素构造函数"<br />"
,并且注入工作已反转 - newel.inject(target, where)
。你想要grab
$$(".class-name label").grab(new Element("br"), "after");
如果表现很重要(IE和许多项目)......
(function() {
var br = new Element("br"), after = "after", inject = function(el) {
el.grab(br.clone(), after) // or br.clone().inject(el, after)
}
$$(".class-name label").each(inject)
}());
甚至 - 为了避免mootools el建设者的惩罚,我个人会采取以下措施:
(function() {
var br = "br",
after = "after",
doc = document,
ce = 'createElement',
inject = function(el) {
el.grab(doc[ce](br), after)
}
document.getElements(".class-name label").each(inject)
}());
老实说,如果可能的话,你应该先用CSS解决这个问题。