当id具有非字母数字字符时,无法使用Jquery获取选择HTML的值

时间:2012-12-20 03:09:05

标签: jquery html

在我的jquery体验中,除了字母数字(当然还包括id和类选择器)之外,我没有遇到过使用字符串选择器中使用的其他字符,现在在我当前的项目id中包含[]并将其放在字面上我的选择器,它根本不起作用。

<select name="pdcompany[0]" id="pdcompany[0]">
        <option value="0">
            Please select
        </option>

我已经阅读了有关从文档创建选择器http://api.jquery.com/category/selectors/的规则并遵循它们但仍然无法正常工作的规则。我错了什么?

    selector = "#pdcompany\\[0\\] > option:selected";
    alert('Selector: ' + selector);
    alert($(selector).text());  

这是我处理你的小提琴http://jsfiddle.net/laupkram/Fd42a/

更新

已经修正了选择器中的一些错误......缺少#

2 个答案:

答案 0 :(得分:2)

您不需要“&gt;选项:已选择”,因为.val已经为您提供了该选项。只是做:

selector = "#pdcompany\\[0\\]";

答案 1 :(得分:1)

$('[id="pdcompany[0]"]').text();怎么样?使用引号和attribute selector

example

翻译供您使用:

$('[id="pdcompany[0]"] option:selected')...

顺便说一句,除非您的选择是multiple,否则无需使用option:selected.val()可以很好地运作。