Jquery 从数组和addclass中查找id
我在一页上有多张表格。我试图遍历我拥有的每一个表单,从一个数组中找到孩子的id,并添加一个类和属性。我相信我的代码比我解释的更好 这是我的jQuery代码:Jquery 从数组和addclass中查找id,jquery,html,Jquery,Html,我在一页上有多张表格。我试图遍历我拥有的每一个表单,从一个数组中找到孩子的id,并添加一个类和属性。我相信我的代码比我解释的更好 这是我的jQuery代码: let ids = ['#date', '#wH', '#note']; $('form').each(function () { ids.forEach(function (value) { $(this).find(value).addClass('thisDisabled'); $(this)
let ids = ['#date', '#wH', '#note'];
$('form').each(function () {
ids.forEach(function (value) {
$(this).find(value).addClass('thisDisabled');
$(this).find(value).attr('readonly', 'readonly');
});
})
这是html代码:
Notiz:#26
小时:
性病。
账单
注
我希望从每个表单中都应该禁用具有匹配ID的子项,但什么也没有发生。我没有任何错误消息。整个页面上的每个ID都必须是唯一的。改用类。您可以最小化代码:
$( '.date, .wH, .note' ).addClass('thisDisabled').attr('readonly', 'readonly');
每个ID在整个页面上都必须是唯一的。改用类。您可以最小化代码:
$( '.date, .wH, .note' ).addClass('thisDisabled').attr('readonly', 'readonly');
检查$的范围(此);在第二种情况下,它不再是你的形式了
let ids = ['#date', '#wH', '#note'];
$('form').each(function () {
var form = $(this);
ids.forEach(function (value) {
form.find(value).addClass('thisDisabled');
form.find(value).attr('readonly', 'readonly');
});
})
检查$的范围(此);在第二种情况下,它不再是你的形式了
let ids = ['#date', '#wH', '#note'];
$('form').each(function () {
var form = $(this);
ids.forEach(function (value) {
form.find(value).addClass('thisDisabled');
form.find(value).attr('readonly', 'readonly');
});
})
ID必须是唯一的。这就是它被称为ID的原因。请改用类。当然,关于唯一ID,即使您是正确的,但ID在每个表单中都是唯一的,因此form.find jquery方法应该可以工作。对我来说@iguypouf是正确的,ID是唯一的,因为它们在表单下。所以“form#note54#note”是独一无二的;海报正确地指出了这一点。我刚才说formelement.find应该工作,因为ID在其父级中是唯一的。ID必须是唯一的。这就是它被称为ID的原因。请改用类。当然,关于唯一ID,即使您是正确的,但ID在每个表单中都是唯一的,因此form.find jquery方法应该可以工作。对我来说@iguypouf是正确的,ID是唯一的,因为它们在表单下。所以“form#note54#note”是独一无二的;海报正确地指出了这一点。我刚才说formelement.find应该可以工作,因为ID在它们的父级中是唯一的。这对我很有用!谢谢你对示波器的提示。这对我很有用!谢谢你对范围的提示。这适用于。但是需要注意的是,id是唯一的,因为它们位于表单中,所以“form#note”是唯一的。id属性值在HTML文档中必须是唯一的。请阅读此工作的html规范。但是需要注意的是,id是唯一的,因为它们位于表单中,所以“form#note”是唯一的。id属性值在HTML文档中必须是唯一的。请阅读html规范