我在cakephp中有一段jQuery代码,当我更新jquery版本时,这些函数不再起作用了。 在jquery 1.6.4上。 - >工作,直到1.8.0。但是1.8.0之后的版本不起作用。
$("#mytable tbody>tr:#person0").clone(true).attr('id','person'+lastRow).removeAttr('style').insertBefore("#mytable tbody>tr:#trAdd");
在控制台中,我看到jquery的新版本出现错误:
语法错误,无法识别的表达式:tbody>:#person0
我接下来尝试,但不起作用。
$("#mytable>tbody>tr:#person0")
$("#mytable.tbody.tr:#person0")
是否有一些来自1.8.0 jquery的新规则?
我用谷歌搜索但我找不到任何聪明的东西?
谢谢,
答案 0 :(得分:4)
#person0
首先是ID选择器,因此如果您的HTML标记有效,则可以将选择器简化为"#person0"
。
毕竟,众所周知,"there must not be multiple elements in a document that have the same id value."我怀疑jQuery在解析时现在更加严格。
答案 1 :(得分:1)
这不是选择元素的正确方法。
你应该尝试:
$("#mytable>tbody>tr#person0")
没有:
。
当然,您也可以执行AKX所说的内容,并且只使用#person0
ID,因为在文档中应该唯一。