IE7中的jQuery 1.4.3选择器问题

时间:2011-08-05 21:05:48

标签: jquery internet-explorer-7

我正试图得到一个像这样的元素:

var billingID = 'table[id^="table.form.billingaddress"] #'+ shippingID;
var billingName = $(billingID).attr("name");

它可以像我在FF,Chrome,IE8,IE9中所期望的那样工作,但IE7让我'未定义'

将非常感谢帮助。 ...而且我对文档中生成ID的方式感到困惑: - (

1 个答案:

答案 0 :(得分:1)

此代码适用于IE 7.0.5730.13:

<table id="table.form.billingaddress.0">
    <div id="nameFirst"></div>
</table>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

<script>
    $(document).ready(function() {
       // alerts with "table.form.billingaddress.0"
       alert($('table[id^="table.form.billingaddress"]')[0].id);
       // alerts with "nameFirst"
       alert($('table[id^="table.form.billingaddress"] #nameFirst')[0].id);
    });
</script>

我不确定为什么这样做有效,表格id中的句点应为escaped

  

如果您想使用任何元字符(例如   !“#$%&amp;'()* +,。/:;&lt; =&gt;?@ [] ^`{|}〜)作为名称的字面部分,你必须   用两个反斜杠转义字符:\\。例如,如果你   有一个id =“foo.bar”的元素,你可以使用选择器   $( “#FOO \\条”)。