HTML标记,包含带引号的JavaScript代码中的引号

HTML Tag containing quotes inside JavaScript code with quotes

本文关键字:代码 JavaScript 标记 HTML 包含带      更新时间:2023-09-26

我正在编写JavaScript代码,点击后会将稍后应该显示在页面中的图像源分配给函数getImage。然而,引号给我带来了一个问题。

<img src="bill.jpg" class="captify" 
id="teamformat" alt="Bill Gates" onclick="getName('Bill Gates'); 
getMotto('Bill''s motto'); 
getImage ('<img src='"http://www.somepage.com/images/team/bill.jpg'"/>');" />

如何修复getImage函数中的引号?非常感谢。

通常,您不需要在单引号分隔的字符串中转义双引号:

getImage ('<img src="http://www.somepage.com/images/team/bill.jpg"/>');" />

类似地,getMotto可以重写为:

getMotto("Bill's motto"); 

您遇到了一个问题,因为您在一个属性中同时使用了两种类型的引号-您有太多的JavaScript,并且确实需要转义内部双引号(使用&quot;)。

这两个函数都应该放在您附加点击事件的javascript函数中——不要直接将它们放在onclick事件处理程序中,这是不好的做法。

类似于:

function getDetailsForBill(){
     getName('Bill Gates'); 
     getMotto('Bill''s motto'); 
     getImage ('<img src="http://www.somepage.com/images/team/bill.jpg" />');
}

制作onclick:

onclick="getDetailsForBill();"

尽管您确实应该使用addEventListener注册一个事件侦听器。

不要逃离它:

getImage ('<img src="http://www.somepage.com/images/team/bill.jpg"/>');" />