用mootools插入休息

时间:2012-04-12 15:00:00

标签: javascript mootools

我想通过使用mootools在标签<br />之后插入一个break元素<label>。不幸的是,这行代码不起作用:

$$('.class-name label').inject('<br />', 'after');

我应该先用mootools创建元素<br />吗?谢谢你的回复。

1 个答案:

答案 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解决这个问题。