javascript - jquery中的for循环错误

标签 javascript jquery loops

我有 HTML 结构:

<div class="image">
    <img src="image/image.png" alt="image" />
    <img src="image/image.png" alt="image" />
    <img src="image/image.png" alt="image" />
    <img src="image/image.png" alt="image" />
    <img src="image/image.png" alt="image" />
</div>

<select class="select">
    <option value="1">Value 1</option>
    <option value="2">Value 2</option>
    <option value="3">Value 3</option>
    <option value="4">Value 4</option>
    <option value="5">Value 5</option>
</select>

我想单击图像,然后选择相应的选项:例如,当我单击 image-1 时,会选择选项 value="1"。 我尝试过这些行代码:

$(document).ready(function () {
    var image = $(".image img");
    var option = $(".select option");
    for (var i = 0; i < image.length; i++) {
        var img = image.eq(i);
        var op = option.eq(i);
        img.click(function () {
            op.addClass('selected');
        });
    }
});

但它是错误的。请让我知道我可以做些什么来修复它。谢谢。

最佳答案

使用数据属性

<div class="image">
    <img src="image/image-1.png" alt="image" data-option="1" />
    <img src="image/image-2.png" alt="image" data-option="2" />
    <img src="image/image-3.png" alt="image" data-option="3" />
    <img src="image/image-4.png" alt="image" data-option="4" />
    <img src="image/image-5.png" alt="image" data-option="5" />
</div>

那么你就可以这样做

$(document).ready(function(){
    $('.image img').on('click', function() {
        $('.select').val($(this).data('option'));
    });
});

您也可以从源中获取数字,但数据属性似乎更简单

关于javascript - jquery中的for循环错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20975948/

相关文章:

javascript - 如何使用 Firebase 9(模块化 sdk)更新 Firebase 实时数据库中的数据

c# - 如何关闭服务器端按钮单击中的当前选项卡?

java - 如何删除数组中的最小值?

python - 添加额外的循环会导致无响应

javascript - 自动完成重复文本字段

javascript - 使用 jquery/javascript 读取值

javascript - 删除处理 JQuery 选项,隐藏不?

PHP:使用单独数组中定义的路径设置多维关联数组元素的值

Javascript 倒计时器在 Safari 中不工作

javascript - $(窗口).unload(function(){});是不是在Firefox和opera中被解雇了?