Jquery - 创建动态名称选择器

时间:2016-04-19 13:57:21

标签: javascript jquery

我在最后一小时一直在玩这个,但是无法让它发挥作用。

我有一个reactJS组件,它呈现一个网格。渲染网格后,我需要在组件上做一些DOM工作。

需要检查一些复选框。在DOM可用后,如果我在控制台中运行它:

$('[name="checkbox0"]').prop('checked', true);

效果很好。

我需要迭代我的对象,并根据条件检查与否。

我的问题是如何使选择器动态化?如何使checkbox0动态化,因此我可以将其设置为checkbox1,checkbox5 ......等。

这是我最近一次尝试解决这个问题,并没有奏效:

this.state.rows.forEach(function (index, key, value){
        var test = "'[name=" + "checkbox" + key + "]'" ;

        if(index.selected){
            //$('[name="checkbox0"]').prop('checked', true);
            $(test).prop('checked', true);
        }
    });

1 个答案:

答案 0 :(得分:2)

您正在尝试使用属性选择器,但语法在动态字符串

中是关闭的
var test = '[name="checkbox' + key + '"]'

您使用""包装整个字符串,其中只应包含属性值