更改具有相同 ID 的多个元素
Changing multiple elements with same id
我完全不熟悉 JQuery,但我想知道是否可以在操作中更改具有相同 ID 的所有元素。
$(document).ready(function() {
document.getElementById("id_scheduled_time").disabled = true;
document.getElementById("id_scheduled_day").disabled = true;
});
$('#id_schedule_type').on('change', function() {
if ($("#id_schedule_type").prop('selectedIndex') == 0) {
document.getElementById("id_scheduled_time").disabled = true;
document.getElementById("id_scheduled_day").disabled = true;
}
else {
document.getElementById("id_scheduled_time").disabled = false;
document.getElementById("id_scheduled_day").disabled = false;
};
});
$('#id_scheduled_period').on('change', function() {
if ($("#id_scheduled_period").prop('selectedIndex') == 2) {
$('#id_scheduled_minute').attr("placeholder","Insert number 1-15").val("");
} else {
$('#id_scheduled_minute').attr("placeholder","Insert number 1-45").val("");
};
});
是的,这段代码看起来很糟糕,但现在可以用了。我的问题是有多个带有选择框和输入字段的选项卡都具有相同的 id(例如 id_scheduled_time
)
现在它做了什么,它在一个选项卡中工作正常,但对其他 id 没有任何作用。
这里的问题是:如何以相同的方式为选择索引
更改所有元素
您可以使用 $('[id="my-id"]')
来 select 所有元素,而不是 select 使用 $('#my-id')
元素。
但是,正如所有评论中提到的,您真的应该切换到 类。 ID 不能在一个页面上多次使用。
如果您不能将 class 添加到此元素,但目标元素的父元素具有确切的 class,我建议这样做:
$(".parentClassName:nth-child(3)")
// The number 3 is a sample index of element inside its parent
或者以一种丑陋的方式,您可以通过以下方式获取所有这些元素:
$('[id="id_scheduled_time"]')
我完全不熟悉 JQuery,但我想知道是否可以在操作中更改具有相同 ID 的所有元素。
$(document).ready(function() {
document.getElementById("id_scheduled_time").disabled = true;
document.getElementById("id_scheduled_day").disabled = true;
});
$('#id_schedule_type').on('change', function() {
if ($("#id_schedule_type").prop('selectedIndex') == 0) {
document.getElementById("id_scheduled_time").disabled = true;
document.getElementById("id_scheduled_day").disabled = true;
}
else {
document.getElementById("id_scheduled_time").disabled = false;
document.getElementById("id_scheduled_day").disabled = false;
};
});
$('#id_scheduled_period').on('change', function() {
if ($("#id_scheduled_period").prop('selectedIndex') == 2) {
$('#id_scheduled_minute').attr("placeholder","Insert number 1-15").val("");
} else {
$('#id_scheduled_minute').attr("placeholder","Insert number 1-45").val("");
};
});
是的,这段代码看起来很糟糕,但现在可以用了。我的问题是有多个带有选择框和输入字段的选项卡都具有相同的 id(例如 id_scheduled_time
)
现在它做了什么,它在一个选项卡中工作正常,但对其他 id 没有任何作用。 这里的问题是:如何以相同的方式为选择索引
更改所有元素您可以使用 $('[id="my-id"]')
来 select 所有元素,而不是 select 使用 $('#my-id')
元素。
但是,正如所有评论中提到的,您真的应该切换到 类。 ID 不能在一个页面上多次使用。
如果您不能将 class 添加到此元素,但目标元素的父元素具有确切的 class,我建议这样做:
$(".parentClassName:nth-child(3)")
// The number 3 is a sample index of element inside its parent
或者以一种丑陋的方式,您可以通过以下方式获取所有这些元素:
$('[id="id_scheduled_time"]')