“非法人物”在jquery中appendTo()

发布于 2024-11-04 21:58:11 字数 403 浏览 6 评论 0 原文

这是我的jqueryappendTo()代码:

$('<li><a href="javascript:void (0)" onmousedown="document.getElementById('searchType_banner').value='p';">document</a></li>').appendTo('.wapper');

在firebug中,它提醒我一个错误,即“onmousedown”位置的“参数列表后缺少)”,有时它提醒我“非法字符”错误。但我不认为我错过了任何 ”)” 。

那么什么不应该出现在appendTo()中或者我应该在appendTo()中注意到什么。为什么会发生上面的错误,我该如何解决这个问题?

谢谢

here is my jquery appendTo() code:

$('<li><a href="javascript:void (0)" onmousedown="document.getElementById('searchType_banner').value='p';">document</a></li>').appendTo('.wapper');

in firebug it remind me an error that "missing ) after argument list" in "onmousedown" position,and sometimes it remind me that "illegal character" error.But I don't think I miss any ")" .

So what should not appear in the appendTo() or which I should noticed in appendTo() .Why the error above happened,how can I solve this problem?

thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

笛声青案梦长安 2024-11-11 21:58:11

选择器本质上是一个字符串,因此您将用单引号分隔字符串。你需要逃离他们。

$('

  • document< /a>
  • ').appendTo('.wapper');

    The selector is essentially a string, so you're breaking your string with the single quotes. You need to escape them.

    $('<li><a href="javascript:void (0)" onmousedown="document.getElementById(\'searchType_banner\').value=\"p\";">document</a></li>').appendTo('.wapper');

    抚笙 2024-11-11 21:58:11

    如果您查看自己的 Stack Overflow 问题上的语法突出显示,我想您可以看到出了什么问题。注意字符串的结束位置。

    修复方法如下:

    $('<li><a href="javascript:void (0)" onmousedown="document.getElementById(\'searchType_banner\').value=\'p\';">document</a></li>').appendTo('.wapper');
    

    替代修复:

    $('<li><a href="javascript:void (0)" onmousedown="document.getElementById("searchType_banner").value="p";">document</a></li>').appendTo('.wapper');
    

    社论:呃!您不应该仅将锚元素用于 JavaScript。如果您愿意,可以使用

    $('<button>document</button>').mousedown(function(){
      $('#searchType_banner').val('p');
    }).appendTo('.wapper');
    

    If you look at the syntax highlighting on your own Stack Overflow question I think you can see what's going wrong. Notice where the string ends.

    Here's how to fix it:

    $('<li><a href="javascript:void (0)" onmousedown="document.getElementById(\'searchType_banner\').value=\'p\';">document</a></li>').appendTo('.wapper');
    

    Alternative fix:

    $('<li><a href="javascript:void (0)" onmousedown="document.getElementById("searchType_banner").value="p";">document</a></li>').appendTo('.wapper');
    

    Editorial: Ugh! You should not use anchor elements just for JavaScript. Use a <button> and style it like a link if you like. Here's how I'd write that:

    $('<button>document</button>').mousedown(function(){
      $('#searchType_banner').val('p');
    }).appendTo('.wapper');
    
    无畏 2024-11-11 21:58:11
    $('<a></a>').html('document').mousedown(function(){}).wrap('<li></li>').appendTo('.wapper');
    
    $('<a></a>').html('document').mousedown(function(){}).wrap('<li></li>').appendTo('.wapper');
    
    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文