javascript - 使用 mootools 多次替换元素名称

标签 javascript mootools

moo 中是否有任何等价物可以替换多个元素 id 名称

我有这个

    $$('myelement').each(function(el){ 
            var get_all_labels = el.getElements('label');/
            var get_label_id = get_all_labels.getProperty('id');
            el.addClass(get_label_id);

        });

但是 mu 标签 (labael_name) 返回额外的后缀,例如 -elem,, 我需要删除 -elem,, 来自新创建的父类名。我测试了 replace 但可能在错误的位置,它返回 replace is not a function,还测试了 js 的自定义 string_replace 但我没有任何运气,请任何提示。谢谢!

最佳答案

这有点不对。

var get_all_labels = el.getElements('label'); - 返回一个集合

var get_label_id = get_all_labels.getProperty('id'); - 返回一个 ID 数组。

所以如果你有一个标签,它会是:

[labelObject#someid-elem] 然后返回 ["someid-elem"]

问题是,element.addClass 需要一个字符串,而不是一个字符串数组,但您可以使用 array.join 来解决这个问题。

如果你确实有超过 1 个标签并且需要将所有标签作为类添加到你正在循环的 el 中,你可以这样做

$$('myelement').each(function(el) {
    var get_all_labels = el.getElements('label');

    // get all ids and replace them... use .get for 1.2+ or .getProperty for 1.11
    var get_label_ids = get_all_labels.map(function(label) {
        return label.getProperty("id").replace("-elem", "");
    });

    // add to parent element.
    el.addClass(get_label_ids.join(" "));
    console.log(el);
});

如果这不是预期的行为并且您实际上只有一个标签,那么就这样做

$$('myelement').each(function(el) {
    var id = el.getElement('label').get("id").replace("-elem", "")
    el.addClass(id);
    console.log(el);
});

关于javascript - 使用 mootools 多次替换元素名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7720517/

相关文章:

JavaScript 和闭包涉及外部变量

jquery - mootools 或 jquery 中的颜色切换器

javascript - 当在 CSS 中专门设置颜色时,Mootools 补间颜色过渡被元素子元素拒绝

javascript - 将 mootools 代码转换为 jquery

JavaScript按键事件获取textarea的结束值

css - 如何使用 Mootools Fx 变形多部分 css 属性?

javascript - AIR HTMLLoader window.open 不起作用

javascript - 如何在不重新加载 iframe 的情况下更改 iframe src?

javascript - 当在函数内创建图表时,销毁 Chart.js 不起作用 - Chart.destroy() 不是函数

javascript - 使用基于 razor 方法的 URL