Javascript转义字符ahref html
在a href、img属性等中包含变量时如何转义字符。这似乎不起作用:Javascript转义字符ahref html,javascript,html,Javascript,Html,在a href、img属性等中包含变量时如何转义字符。这似乎不起作用: var myData = JSON.parse(jsonString2); var $grouplist = $('#groups'); $.each(myData, function() { $('<li><a href="'+ this.url + '"/><img src="'+ this.src + '" class="image0"/></a></li>
var myData = JSON.parse(jsonString2);
var $grouplist = $('#groups');
$.each(myData, function() {
$('<li><a href="'+ this.url + '"/><img src="'+ this.src + '" class="image0"/></a></li>').appendTo($grouplist);
});
}
var myData=JSON.parse(jsonString2);
var$grouplist=$(“#组”);
$.each(myData,function(){
$(“”)。附加到($grouplist);
});
}
以上全部功能
$('<li><a href=\"' + this.url + '\"</a></li>').appendTo($grouplist);
$('只有在具有相同引号时才需要转义。在您的情况下,这将起作用:
$('<li><a href="' + this.url + '"</a></li>').appendTo($grouplist);
$('只有在具有相同引号时才需要转义。在您的情况下,这将起作用:
$('<li><a href="' + this.url + '"</a></li>').appendTo($grouplist);
$('您不需要。创建元素并设置属性,那么您就不需要担心转义任何内容,引号和属性值:
$('<li>').append($('<a>', { href: this.url })).appendTo($grouplist);
$('').append($('',{href:this.url})).appendTo($grouplist);
编辑:
带有image元素的代码还包括:
$('<li>').append(
$('<a>', { href: this.url }).append(
$('<img>', { src: this.src, 'class': 'image0' })
)
).appendTo($grouplist);
$(“”)。追加(
$('',{href:this.url}).append(
$('您不需要。创建元素并设置属性,那么您就不需要担心转义任何内容,引号和属性值:
$('<li>').append($('<a>', { href: this.url })).appendTo($grouplist);
$('').append($('',{href:this.url})).appendTo($grouplist);
编辑:
带有image元素的代码还包括:
$('<li>').append(
$('<a>', { href: this.url }).append(
$('<img>', { src: this.src, 'class': 'image0' })
)
).appendTo($grouplist);
$(“”)。追加(
$('',{href:this.url}).append(
$(“您不需要转义双引号,因为它们在单引号内。此外,您没有完成打开标记的操作。您不需要转义双引号,因为它们在单引号内。此外,您没有完成打开标记的操作。签出。还有encodeURIComponent,如果它是是用户输入
正如其他人所指出的,你不需要在这里转义你的双引号。所以试试这个:
$('<li><a href="' + encodeURIComponent(this.url) + '"></a></li>').appendTo($grouplist);
$(')。附加到($grouplist);
或者Guffa的方法:
$('<li>').append($('<a>', { href: encodeURIComponent(this.url) })).appendTo($grouplist);
$('').append($('',{href:encodeURIComponent(this.url)})).appendTo($grouplist);
签出。还有encodeURIComponent,如果它是用户输入,通常会首选它
正如其他人所指出的,你不需要在这里转义你的双引号。所以试试这个:
$('<li><a href="' + encodeURIComponent(this.url) + '"></a></li>').appendTo($grouplist);
$(')。附加到($grouplist);
或者Guffa的方法:
$('<li>').append($('<a>', { href: encodeURIComponent(this.url) })).appendTo($grouplist);
$('').append($('',{href:encodeURIComponent(this.url)})).appendTo($grouplist);
您是在询问双引号(您不需要这些反斜杠),还是在询问从此URL对URL进行编码。URL
?请详细说明“不工作”的含义。JS字符串编码、HTML属性编码、URL编码。从最低级别(URL)开始,并按顺序对每一层进行编码。是否尝试查找所有包含元素的元素,这些元素将this.url
作为其href
属性,然后对其调用appendTo
?如果不是,代码的目的是什么?它需要在UL中附加一个li,同时将url值传递给href,以及“'而不是\”'不起作用,我想它会起作用吗?您创建的HTML代码中有两个不同的问题,与转义无关。在完整的代码中,您使用了一个自动关闭的锚定标记。在缩短版本中,您删除了锚定开始标记的结束角括号以及图像标记。您是否询问双引号(您不需要这些反斜杠),或者关于从这个.URL对URL进行编码?请详细说明“不工作”的含义。JS字符串编码、HTML属性编码、URL编码。从最低级别(URL)开始,并按顺序对每一层进行编码。是否尝试查找所有包含元素的元素,这些元素将this.url
作为其href
属性,然后对其调用appendTo
?如果不是,代码的目的是什么?它需要在UL中附加一个li,同时将url值传递给href,以及“'而不是\”'不起作用,我想它会起作用吗?在您创建的HTML代码中有两个不同的问题,与转义无关。在完整的代码中,您使用的是一个自动关闭的锚定标记。在缩短版本中,您删除了锚定开始标记的结束角括号以及图像标记。您不必放入关闭标记。
?@PeteTheGreek:否,$()
函数检查类似于''
的字符串,并使用document.createElement
创建元素,而不是将字符串解析为HTML代码。请参阅$(HTML,道具)
重载:这是否假定LI已经存在?请参阅我修订的代码,我在函数运行时添加一个LI。@PeteTheGreek:不,代码$(“”)
创建了一个新的li
元素。我在上面添加了带有image元素的代码。谢谢,这显示了li元素,但没有添加or元素。你不需要输入结束语吗?@PeteTheGreek:不,是$()
函数检查看起来像“”
的字符串,并使用document.createElement
创建元素,而不是将字符串解析为HTML代码。请参阅$(HTML,道具)
重载:这是否假设LI已经存在?请参阅我的修订代码,我在函数运行时添加一个LI。@PeteTheGreek:不,代码$(“”)
创建了一个新的LI
元素。我在上面添加了代码和image元素。谢谢,这显示了LI,但没有添加or元素。