Javascript 如何使用onchange事件添加属性并删除属性?
我有多个选择,希望根据在第一个选择中选择的选项添加或删除名称属性 这里有一把小提琴作为例子: 这应该起作用:Javascript 如何使用onchange事件添加属性并删除属性?,javascript,jquery,Javascript,Jquery,我有多个选择,希望根据在第一个选择中选择的选项添加或删除名称属性 这里有一把小提琴作为例子: 这应该起作用: $("#mySelect").change(function() { var x = $(this).val(); if ($("#" + x).length > 0) { $("#" + x).attr("name", "myName"); } else { $(".selectorClass").removeAttr("
$("#mySelect").change(function() {
var x = $(this).val();
if ($("#" + x).length > 0) {
$("#" + x).attr("name", "myName");
} else {
$(".selectorClass").removeAttr("name");
}
});
您只是有一些东西倒过来了,但是您忘记了类选择器中的“.”:$“.class”。我把小提琴修好了:
类似于以下内容的内容
$("#mySelect").change(function() {
$('.selectorClass').removeAttr('name');
$('#' + $(this).val()).attr('name', 'myName');
});
有问题的时候!!x==false ex:本例中为空字符串。我在if上添加了一个简单的检查
我还添加了一个缺少的。分类
$("#mySelect").change(function() {
var x = document.getElementById("mySelect").value;
if(x && $("#" + x)) { //added to check if x != ""
$("#" + x).attr("name", "myName");
} else {
$(".selectorClass").removeAttr("name"); //added missing "." to actually select classes
}
});
下面是一个您的意思是隐藏与第一个select元素的值具有相同id的select吗?感谢您的快速响应!在第二次更改mySelect之后,它并没有删除name属性。如果这有关系的话,我正在查firebug。非常感谢!这正是我想要的。我一直在尝试更好地使用javascript,但仍在研究jquery。谢谢你的建议!了解jQuery就是了解CSS。了解CSS就是理解id和类属性之间的区别,并学习如何尽可能少地使用它们。学习如何尽可能少地使用它们是理解级联的概念。学习如何级联需要一些练习。希望这对你有所帮助,祝你旅途好运。顺便说一句,我忘了。一直以来,在类选择器中,@$$非常痛苦:谢谢Ajax。我接受了一个答案,但我没想到会有这么多的快速反应。我是stackoverflow的新手,我正在尝试更好地使用javascript,但当我撞到墙上时,我不知道该怎么办。谢谢你的建议@Mcd我修复了你的代码,尽管我怀疑你是否希望它做它所做的事情。它当前检查元素是否存在,如果存在,则添加名称,即使有其他同名元素。当它找不到元素x时,它会用cals从所有元素中删除名称。我最近接触了.change functon,并一直在尝试如何使用它。我想我可以使用.attr添加一个属性,然后使用.removeAttr删除它。我看到还有一个.prop jquery函数,尽管我不确定何时使用.prop而不是.attr。再次感谢您的快速回复和分享有关如何纠正我的错误的信息:
$("#mySelect").change(function() {
var x = document.getElementById("mySelect").value;
if(x && $("#" + x)) { //added to check if x != ""
$("#" + x).attr("name", "myName");
} else {
$(".selectorClass").removeAttr("name"); //added missing "." to actually select classes
}
});