通过javascript按名称引用HTML元素(带方括号)

时间:2010-01-15 00:10:05

标签: javascript jquery html forms

嘿大家,我试图隐藏/显示不同的html元素(div等等),具体取决于是否选中了复选框,或者是否从下拉框中选择了特定值。我想知道是否有人可以帮助我。 html元素是沿着这个(下面)的行定义的,我不知道如何通过括号括起来引用它。我正在使用的页面启用了jquery,如果可能的话我想使用它。谢谢!

<input type="checkbox" name="addons[2]" />

另外 - 我无法修改复选框的代码。

4 个答案:

答案 0 :(得分:5)

检查元素是否被检查的jQuery:

$("input[name='addons[2]']").attr("checked")

jQuery循环遍历已检查的元素:

$("input[name^='addons']:checked").each(function() {
    // ...
});

答案 1 :(得分:2)

感谢您的帮助,这是我使用的最终代码

$("input[name='customfield[4]']").click(

    function()
    {
        if ($("input[name='customfield[4]']").is(":checked"))
        {
            $("#addons").hide();
        }
        else
        {
            $("#addons").show();
        }
    }
);

答案 2 :(得分:1)

这是一个内联非jQuery解决方案,它绕过了使用javascript this关键字完全引用方括号的需要。假设您要使用<div>显示/隐藏id="mydiv"

<input type="checkbox" name="addons[2]" onclick="document.getElementById('mydiv').style.display = (this.checked ? 'block' : 'none');" />

答案 3 :(得分:0)

避免在命名html元素时使用[]