我正试图得到一个像这样的元素:
var billingID = 'table[id^="table.form.billingaddress"] #'+ shippingID;
var billingName = $(billingID).attr("name");
它可以像我在FF,Chrome,IE8,IE9中所期望的那样工作,但IE7让我'未定义'
将非常感谢帮助。 ...而且我对文档中生成ID的方式感到困惑: - (
答案 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 \\条”)。