如何使用jQuery将HTML标签添加到属性中

时间:2018-11-15 19:34:37

标签: javascript jquery html

我需要使用jQuery将HTML代码设置为html属性。

类似这样的东西:

$(".carousel").attr("data-dot","<button role="button" class="owl-dot"><?php 
include("inc/chart3.svg")?></button>");

但是转义有问题...我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

这是您所有选项的详细分类。

双引号和单引号都可以用反斜杠转义:

 $(".carousel").attr("data-dot", "<button role=\"button\">");
 $(".carousel").attr("data-dot", '<button role=\'button\'>');

当然,您也可以根据情况(即您的情况)在双引号内使用单引号:

 $(".carousel").attr("data-dot", "<button role='button'>");

最后,单引号也可以放在双引号内

 $(".carousel").attr("data-dot", '<button role="button">');

编辑

使用转义字符串的一种好方法就是将内容插入浏览器控制台。

console.log("Here is a \"quote.\"");
console.log('Here is a "quote."');
console.log("Here is 'another quote.'");
console.log('Here is yet \'another quote.\'');

答案 1 :(得分:0)

整理一下,如果您是这样的话:

let $btn = $("<button/>", {
    "role": "button",
    "class": "owl-dot",
    "html": "<?php include('inc/chart3.svg');?>"
});
$(".carousel").attr("data-dot", $btn.prop('outerHTML'));

console.log('carousel: ', $('.carousel').attr('data-dot'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="carousel"></div>