添加嵌套引号
Adding nested quotes
我正在玩jquery的追加函数。我正在附加相当多的html,它基本上是一个包含onclick
事件函数的html按钮。
听起来令人困惑?我知道。我有一些技术限制,这使我将其作为一两天的唯一选择。
无论如何,这里有一些例子:
这不起作用:
$('body').append('<button onclick="(function(){console.log(' + '"Hello World"' + ');}())">BTN1</button>');
这有效并发布一个 INT:
$('body').append('<button onclick="(function(){console.log(' + "3" + ');}())">BTN2</button>');
问题在于onclick
引号中字符串的声明。我认为它应该有效,但由于它没有,我做错了什么。问题是什么。
不能
在 onclick
的属性值中使用双引号,因为双引号用于属性的分隔 (onclick="..."
)。而是使用反斜杠来转义单引号,如下所示:
$('body').append('<button onclick="(function(){console.log(''Hello World'');}())">BTN1</button>');
或者,如果要连接字符串:
$('body').append('<button onclick="(function(){console.log(' + '''Hello World''' + ');}())">BTN1</button>');
将
多种语言嵌套多层深是编写和维护的噩梦。尽量完全避免它。为按钮创建一个 DOM 对象,然后将 JS 事件处理程序单独绑定到该对象。
$('body').append(
$("<button>BTN1</button>").on(
'click',
function () {
console.log("Hello World");
}
)
);
您可以对属性使用单引号,以便可以保留双引号。只需确保在带有反斜杠的 JS 部分中转义内联单引号
$('body').append('<button onclick=''(function(){console.log(' + '"Hello World"' + ');}())''>BTN1</button>');
相关文章:
- 将嵌套对象数据添加到窗体中
- 如何以编程方式添加到可变嵌套对象中
- 嵌套的主干视图未添加到DOM中
- Javascript对象/名称空间-如何访问从嵌套函数添加的属性(包括示例)
- 限制要在嵌套列表jQuery中添加的列表元素的数量
- 嵌套循环以添加数字
- 如何在使用具有嵌套视图的 ui 路由器时添加用户控制器
- 添加嵌套视图后代码停止工作
- 向嵌套对象添加属性 - Javascript
- 删除和添加嵌套对象中同一索引处的对象
- 重新思考DB,将元素添加到嵌套的数组中
- 添加到猫鼬嵌套文档
- 在单击嵌套元素时将类添加到同级
- 将日期选取器添加到嵌套表单域
- 向嵌套类添加新元素
- ng-bind-html 添加拥有 CSS 类“ng-binding”,它破坏了所有嵌套的 css,如何摆脱它
- Jquery 嵌套的添加/删除
- 如何使用角度 JS 添加嵌套的添加字段
- 以嵌套形式动态生成的字段添加了两次 Rails
- 向嵌套的 JavaScript 对象添加另一个值