【发布时间】:2012-03-09 19:22:12
【问题描述】:
如果您运行此代码并单击某些链接,您将收到此错误消息:
语法错误,无法识别的表达式:)
我还发现')'错误可能与 holder 元素的选择器有关,即:“p.parent()”
<script type="text/javascript" charset="utf-8">
$(function () {
var holder = $('p').wrap('<div class="holder"></div>').parent();
$('a', holder).live('click', function () {
console.log( $(this).text() );
return false;
});
holder.append('<a href="#">append</a> <a href="#">some</a> <a href="#">elements</a>');
});
</script>
<p>test</p>
我不知道错误可能出在哪里,我开始认为这是 jquery 中的一个错误,以及它使用 live 选择器的方式。在可能代码的其他部分,我有这样的选择器 $('a', holder).eq(..) 并且它工作正常。
我刚刚开始使用它:
<script type="text/javascript" charset="utf-8">
$(function () {
var holder = $('p').wrap('<div class="holder"></div>').parent();
/*$('a', holder).live('click', function () {
console.log( $(this).text() );
return false;
});*/
holder.on('click', 'a', function () {
console.log( $(this).text() );
return false;
});
holder.append('<a href="#">append</a> <a href="#">some</a> <a href="#">elements</a>');
});
</script>
【问题讨论】:
-
不是您的错误的来源,但 .live() 已被弃用,取而代之的是 .delegate() 或 .on()。
标签: jquery syntax expression selector parent