javascript - Internet Explorer 7 从 jQuery 类选择器返回 'undefined'

标签 javascript jquery internet-explorer jquery-selectors

我有一个小的 JavaScript 函数,它(除其他外)检索具有特定类名的最后一个元素的 ID。

var lastRowID = $(".sectionRow:last").attr('id');

它应该在表中找到类似于以下内容的元素:

<table>
    <tr id="courseSection[0]" class="sectionRow"><td>stuff</td></tr>
    <tr id="courseSection[1]" class="sectionRow"><td>more stuff</td><td><a href="javascript:removeSectionRow(1)">(remove)</a></td><td><a href="javascript:addSectionRow()">(add additional row)</a></td></tr>
</table>

如果我执行快速alert(lastRowID),我会在 Chrome、Firefox 和 IE8 中收到“courseSection[1]”。然而,IE7 讨厌我并说“未定义”。

注意:我也尝试过 $(".sectionRow").last().attr('id') 但没有成功。

对可能发生的事情有什么想法吗?谢谢!

编辑:此表是通过单击按钮使用 JavaScript 添加的(按钮显示/添加表单的下一部分)。所以页面加载时 DOM 中的不是静态 html。

单击删除链接时将调用removeSectionRow(n) 函数。它删除指定的行,然后搜索类名“sectionRow”剩余的最后一行,以便为该行提供“添加附加行”链接。这个想法是用户可以随意添加和删除行。这是最终结果的屏幕截图,以说明我可能解释得不好的内容:http://imgur.com/uXYHj.png

最佳答案

字符[]不是有效的 ID 字符。也许这会导致 IE7 出现一些问题。

测试选择器返回的元素数量,看看是否得到 <tr>或不。

alert( $(".sectionRow:last").length );

关于javascript - Internet Explorer 7 从 jQuery 类选择器返回 'undefined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3918381/

相关文章:

javascript - 使用旧版本的 Node 创建 React App

javascript - ng-click 图像不调用猫头鹰轮播 slider 中的温泉模板页面

javascript - Handlebars 自定义 Helper 参数如何工作

javascript - 修复 IE 中的 JS 错误

javascript - 如何对繁重的 JavaScript Web 应用程序进行性能分析?

javascript - 视差旋转和移动

javascript - 在 Bootstrap 主题的选项卡式 Pane 中进行验证

javascript - ASP.NET MVC 5 ajax 错误 statusText 始终为 "error"

internet-explorer - 有没有办法将 Internet Explorer 设置转储到文本文件?

jquery - $(document).on 'ready page:load' - 在 ie10 中无法正常工作