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/