Javascript转义字符ahref html

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>

在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>').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元素。