在单引号和双引号之间无限交替
Alternating between single and double quotes indefinitely
我在处理多个嵌入式/交替引号时遇到问题,我希望有人可以提供帮助。 这是相关代码...
displayMessage(
"post success!",
"<p style='margin-top: 15px; margin-bottom: 15px'>if you'd like to share your post...</p>
<a onclick='openSharePopup("+textA+","+numberA+","+numberB+")' style='cursor: pointer; font-size:16px'>
share
</a>"
);
function displayMessage(heading, text){
$("#displayMessageHeadingDiv").html(heading);
$("#displayMessageBodyDiv").html(text);
$("#displayMessageParentDiv").css("display","block");
}
displayMessage() 在用户成功在网站上发布内容后调用,并且工作正常,除非"textA"包含撇号(例如"Mike's Opinion"之类的内容)。
问题是(我认为)是,尽管 textA 封装在双引号中 - 这些双引号已经在我的 onclick 属性的单引号内 - 它本身位于 displayMessage 的整个第二个参数的更多双引号内。
我以前认为单引号和双引号之间的交替可以无限期地继续下去,但这个例子似乎表明并非如此。 我也尝试了这些替代方案来打破文本 A 中的任何引号,但都没有奏效......
textA = JSON.stringify(textA).replace(/&/, "&").replace(/"/g, """);
textA = textA.replace("'","''");
关于我哪里出了问题的任何想法?
你的方法从根本上是错误的。手动创建内联事件处理程序几乎总是错误的方法。
更好的解决方案是例如:
var shareLink = $( '<a>share</a>' )
.css({ cursor: 'pointer', 'font-size': '16px' })
.click( function() {
openSharePopup( textA , numberA, numberB );
});
var msg = $( "<p>if you'd like to share your post...</p>" )
.css({ 'margin-top': '15px', 'margin-bottom': '15px' });
displayMessage( "post success!", shareLink.add( msg ) );
function displayMessage(heading, text){
$("#displayMessageHeadingDiv").html(heading);
$("#displayMessageBodyDiv").empty().append(text);
$("#displayMessageParentDiv").show();
}
实质上,您应该创建元素,通过代码添加单击处理程序,并将元素直接添加到容器中。这样,您就不必考虑使用哪种引号以及在哪里使用。
(作为另一个样式旁注,使用 CSS 类而不是内联样式来设置元素样式会好得多。
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 全局变量和全局对象的属性之间有什么区别吗
- java.net和javascript之间正则表达式的差异
- 结合jQuery和jetpack无限滚动
- JavaScript中的函数和对象之间没有区别吗?
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- Jquery在函数之间传递表行
- 根据某些条件在视图之间切换
- 在控制器和数据对象之间同步数据
- d3中堆栈函数和嵌套函数之间的差异
- JQuery:在页面之间滑动
- ng应用程序使脚本无限运行
- 如何使用JavaScript查找1和N之间的所有数字的总和
- 操作放置在画布上的元素之间的连接
- 在下划线中使用_(obj).map(callback)和_.map(obj,callback)之间的区别
- jquery在表单之间切换
- Nodejs API控制器,用于在API之间切换
- 在单引号和双引号之间无限交替
- 在wordpress网站的帖子之间插入谷歌广告,并进行无限滚动
- 如何重定向无限数量的url或iframe与所有它们之间的时间差距