由于name属性而未显示复选框

时间:2012-10-04 20:15:47

标签: jquery html

如果我有一个具有以下名称属性的复选框:

name="answerName[True]"

为什么我在下面的jquery行中显示它没有显示复选框?

$(this).closest('.option').siblings('.answer').find('input[name=answerName[Yes]]').show();

如果name属性是这样的:

name="answerNameTrue"

并且jquery是这样的:

$(this).closest('.option').siblings('.answer').find('input[name=answerNameYes]').show();

那么它确实显示但是当我把[]括号放在它周围突然不起作用而不显示复选框时怎么样?

3 个答案:

答案 0 :(得分:3)

您可以使用引号:

$(this).closest('.option').siblings('.answer').find('input[name="answerName[Yes]"]').show();

答案 1 :(得分:0)

True是一个javascript关键字。

这可能是导致混乱的原因之一..

尝试将该属性放入引号中,然后尝试..

.find('input[name="answerName[Yes]"]')

答案 2 :(得分:0)

你的[是]只是与选择者的支架相冲突

Jquery将解析:

find('input[name=answerName[Yes]]')

并将保留:

find('input[name=answerName[Yes]');

所以最后你在选择器的末尾有一个[jquery不知道该怎么做+一个额外的]。

尝试转义它:

find('input[name=answerName\[Yes\]]')

find('input[name="answerName[Yes]"]')