Javascript setAttribute等于';这是我的条件
大家好,我陷入了两难境地,不太清楚为什么我的代码不能工作。我明白它应该做什么。但它没有做它应该做的。请有人看看他们是否可以调试我的代码。非常感谢。 它应该根据选择的选项设置属性 HTMLJavascript setAttribute等于';这是我的条件,javascript,jquery,Javascript,Jquery,大家好,我陷入了两难境地,不太清楚为什么我的代码不能工作。我明白它应该做什么。但它没有做它应该做的。请有人看看他们是否可以调试我的代码。非常感谢。 它应该根据选择的选项设置属性 HTML 在JQuery中,您可以使用attr函数获取或设置任何元素属性,以获取如下元素属性 $("#required_tracks_id").attr("sku"); 和设置元素属性 $("#required_tracks_id").attr("sku", "Value"); 在您的情况下,请使用下面的代码 var
在JQuery中,您可以使用attr函数获取或设置任何元素属性,以获取如下元素属性
$("#required_tracks_id").attr("sku");
和设置元素属性
$("#required_tracks_id").attr("sku", "Value");
在您的情况下,请使用下面的代码
var e = document.getElementById("track_type_selected");
var selectedIndex = e.options[e.selectedIndex].value;
if(selectedIndex==0){
$("#required_tracks_id").attr("sku","TRACK3");
}
if(selectedIndex==1){
$("#required_tracks_id").attr("sku","TRK30");
}
if(selectedIndex==2){
$("#required_tracks_id").attr("sku","TRACK-1033");
}
它不起作用的原因是因为您将vanilla JS与jQuery混合在一起。您通过jQuery选择器获得了#required_tracks_id,但setAttribute()是一个JS函数。因此,您可以执行以下任一操作:
document.querySelector("#required_tracks_id").setAttribute("sku", "xxx");
或
我会在8分钟后接受。不允许在8分钟内接受如果您解释了为什么需要使用
attr
,您的答案将更有帮助。在JQuery中没有名为setAttribute的函数,但您可以使用attr函数获取或设置任何元素属性,以获取类似$(“#required_tracks_id”).attr(“sku”);你可以在回答中添加信息,这样就不会在注释中丢失。“为什么我的代码不起作用。”你怎么知道它不起作用?发生了什么事?你会犯哪些错误?哦,好的,我明白了。现在有道理了。非常感谢。
var e = document.getElementById("track_type_selected");
var selectedIndex = e.options[e.selectedIndex].value;
if(selectedIndex==0){
$("#required_tracks_id").attr("sku","TRACK3");
}
if(selectedIndex==1){
$("#required_tracks_id").attr("sku","TRK30");
}
if(selectedIndex==2){
$("#required_tracks_id").attr("sku","TRACK-1033");
}
document.querySelector("#required_tracks_id").setAttribute("sku", "xxx");
$("#required_tracks_id").attr("sku", "xxx");