Jquery 按钮标记onclick不起作用

Jquery 按钮标记onclick不起作用,jquery,Jquery,我尝试在页面中插入一个按钮,我想让它可以点击,但它似乎根本不起作用 $(".something").append('<button style="background-image: \ -webkit-gradient(linear, left bottom, left top, color-stop(0.3, rgb(255,170,0)),\ color-stop(0.85, rgb(222,133,0)) ); height: 28px; padding-top: 5px; \ pa

我尝试在页面中插入一个按钮,我想让它可以点击,但它似乎根本不起作用

$(".something").append('<button style="background-image: \
-webkit-gradient(linear, left bottom, left top, color-stop(0.3, rgb(255,170,0)),\
color-stop(0.85, rgb(222,133,0)) ); height: 28px; padding-top: 5px; \
padding-bottom: 5px; padding-left: 10px; padding-right: 10px; \
border-top-left-radius: 4px; border-top-right-radius: 4px; \
border-bottom-left-radius: 4px; border-bottom-right-radius: 4px;" \
type="button" onclick="alert("lelele");"><span style="color: #fff;">\
Button</span></button>');
$(“.something”).append('\
按钮“);

我在网上搜索了一下,然后尝试了最简单的解决方案:警报功能,甚至它都不起作用。

问题在于转义

onclick="alert(\'lelele\');"
但我更喜欢在委托事件上使用

 $(function(){
  $('.something').on('click','button',function(){
     alert('lelele');
  })
 });
这将不需要内联onclick javascript事件,该事件很难读取和调试


从按钮中删除
onclick=“alert(“lelelle”);”
问题在于转义

onclick="alert(\'lelele\');"
但我更喜欢在委托事件上使用

 $(function(){
  $('.something').on('click','button',function(){
     alert('lelele');
  })
 });
这将不需要内联onclick javascript事件,该事件很难读取和调试


从按钮中删除
onclick=“alert(“lellel”);”
在onclick参数中使用简单引号。您必须转义它们,因为在append函数中将它们用作分隔符

onclick="alert(\'lelele\');"

在onclick参数中使用简单引号。您必须转义它们,因为在append函数中将它们用作分隔符

onclick="alert(\'lelele\');"

您的报价不匹配,请尝试转义内部报价

onclick="alert(\'lelele\');"
也就是说,onclick是一种老方法,您将获得更干净的代码,避免内联JavaScript(就像bipen建议的那样)

$(“.something”)
.append('Button')//没有CSS或内联JavaScript
.on(“单击”,“按钮”,函数(){///委托语法
警惕(“拉拉”);
});


同时将样式移动到css文件中!:)

您的引号不匹配,请尝试转义内部引号

onclick="alert(\'lelele\');"
也就是说,onclick是一种老方法,您将获得更干净的代码,避免内联JavaScript(就像bipen建议的那样)

$(“.something”)
.append('Button')//没有CSS或内联JavaScript
.on(“单击”,“按钮”,函数(){///委托语法
警惕(“拉拉”);
});


同时将样式移动到css文件中!:)

+1这当然是一种更好的方法(而不是在js中的字符串中嵌入html中的js,呃!)转义将无法使用双引号,因为它将被取消转义两次(js->html->js)。所以必须用简单的引号转义。但是+1代表委托。我不明白为什么我需要$(function(){以及为什么我不直接以$('.something')开头…因为..
$(function(){
$(document)的快捷码。ready(function()){..
..将脚本保存在这个脚本中可以确保只有在文档及其元素完全加载后才调用它…我建议您在脚本之前始终使用这个脚本..+1这当然是一个更好的方法(而不是在js中的字符串中嵌入html中的js,呃!)转义不适用于双引号,因为它将被取消转义两次(js->html->js)。因此必须转义简单引号。但是对于委托,转义为+1。我不明白为什么我需要$(function(){以及为什么我不直接以$('.something')开头…因为..
$(function(){/code>是
$(document)的短码。就绪(function()){..
…将脚本放在这里面可以确保只有在文档及其元素完全加载后才调用它…我建议您在编写脚本之前始终使用它..这不起作用,它将在html中不显示。应该使用简单的引号。@Haelty我对您的语句感到困惑,请详细说明。我将css保持内联,因为我不是当然,权限在带有css的chrome扩展中是如何工作的,我将进一步查看并检查您的答案谢谢。您有这个
$(“测试”)。append('button')
。将要追加的是
'…'
,因此
onclick
将只包含
警报(
因为第二个引号。这就是为什么您必须使用简单引号…或双转义双引号>。\u>.使用bipen的解决方案以清晰地显示代码;)并且与CSS无关。实际上,这非常有效!我不知道“转义”类型的问题:)这将不起作用,它将在html中不显示。应该使用简单的引号。@Haelty我对您的声明感到困惑,请详细说明。我将css保持内联,因为我还不确定权限在带有css的chrome扩展中是如何工作的,我将进一步查看并检查您的答案。谢谢。您有这个
$(“test”)。append('button'))
。将要附加的是
“…”
,因此
onclick
将只包含
警报(
,因为第二个引号。这就是为什么必须使用简单引号…或双转义双引号>。\u>.使用bipen的解决方案以清晰地显示代码;)这与CSS无关。事实上,这很好!我不知道“逃逸”类型的问题:)