Javascript帮助关于;document.getElementById";请
这是我的密码:Javascript帮助关于;document.getElementById";请,javascript,html,Javascript,Html,这是我的密码: <html> <head> <script> function changeDate(option) { var selectList = document.getElementById("catProdAttributeItem"); if (option == 0) { selectList.selectedIndex++
<html>
<head>
<script>
function changeDate(option) {
var selectList = document.getElementById("catProdAttributeItem");
if (option == 0) {
selectList.selectedIndex++;
} else if (option == 1 && selectList.selectedIndex > 0) {
selectList.selectedIndex--;
}
}
</script>
</head>
<body>
<img src="img1.jpg" onclick="changeDate(0)">
<img src="img2.jpg" onclick="changeDate(1)">
<select id="pa_colour" name="attribute_pa_colour">
<option value="">Choose an option…</option>
<option value="black" class="active">Black</option>
<option value="blue" class="active">Blue</option>
<option value="red" class="active">Red</option>
<option value="white" class="active">White</option>
</select>
<div id="catProdAttributeItem">
<select>
<option id="1">One</option>
<option id="2">Two</option>
<option id="3">three</option>
<option id="4">Four</option>
</select>
</div>
</body>
</html>
函数更改日期(选项){
var selectList=document.getElementById(“catProdAttributeItem”);
如果(选项==0){
selectList.selectedIndex++;
}else if(选项==1&&selectList.selectedIndex>0){
selectList.selectedIndex--;
}
}
选择一个选项…
黑色
蓝色
红色
白色
一
二
三
四
在这段代码中,我想做的是当用户单击一个图像时,选择选项的值将会改变
如果
选择有一个id,它将正常工作,但在我的例子中,选择选项没有id,但在选择之前有一个类“catProdAttributeItem”
。
如何使用document.getElementById和select选项?由于select元素位于catProdAttributeItem div中,因此可以使用childNodes属性选择它
var selectList = document.getElementById("catProdAttributeItem").childNodes[0];
代码的其余部分应按原样工作。Select元素是Div的子元素,因此需要访问子元素。为此,请使用以下方法:
var selectList = document.getElementById("catProdAttributeItem").children[0];
以下是工作演示:为什么不能只为select分配一个id,然后获取所选值?您所说的“在select之前”是什么意思?是兄弟姐妹还是父母?发布您正在使用的实际HTML,而不是一些不代表问题的HTML。我删除了jQuery标记——jQuery使这类事情变得微不足道,但您特别要求使用本机JavaScript方法。@Jonathan-Im使用Buiness Catalyst。因为我没有访问电子商务功能的源代码。这就是为什么我需要这样做,我没有投反对票,但我可以想象这是因为你的fiddle html无效。@TJ:fiddle html是上面讨论过的html。我没有自己修改它,谢谢你的回答