我正在抓取页面上所有标签的ID。我知道要从中删除三个字母并用两个字母替换它们。
我得到了以下内容:
(function ($) {
$(document).ready(function() {
$('label').each(function(index) {
var id = $(this).attr('id');
var idm = id.replace('lbl','cg')
$(this).parents('.control-group').addClass(idm);
});
});
})(jQuery);
但我收到错误Cannot read property 'replace' of undefined
在我的第一次尝试中,我这样写了但是得到了同样的错误:
(function ($) {
$(document).ready(function() {
$('label').each(function(index) {
var id = $(this).attr('id').replace('lbl','cg');
$(this).parents('.control-group').addClass(id);
});
});
})(jQuery);
答案 0 :(得分:2)
但我收到错误无法读取未定义的属性'replace'
这很可能是因为您的<label>
个元素之一未定义id
个属性。
您可以考虑仅定位您已知道具有<label>
属性的id
元素,如下所示,使用the has attribute selector:
// Only target a label with a defined id attribute
$('label[id]').each(function(index) {
var id = $(this).attr('id').replace('lbl','cg');
$(this).parents('.control-group').addClass(id);
});