Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript帮助关于;document.getElementById";请_Javascript_Html - Fatal编程技术网

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。我没有自己修改它,谢谢你的回答