我根本不熟悉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
)
现在它做了什么它在单个标签中工作正常,但对其他标识没有任何作用。 这里的问题是:如何以相同的方式更改选择索引的所有元素
答案 0 :(得分:11)
您可以使用$('#my-id')
来选择所有元素,而不是选择$('[id="my-id"]')
元素。
但是,正如所有评论中提到的那样,你应该真正切换到类。 ID并不打算在页面上多次使用。
答案 1 :(得分:-1)
如果你不能为这个元素添加类,但是目标元素的父类具有完全类,我建议:
$(".parentClassName:nth-child(3)")
// The number 3 is a sample index of element inside its parent
或以丑陋的方式,你可以通过以下方式获得所有这些元素:
$('[id="id_scheduled_time"]')