附加为类属性时,Javascript 字符串按空格分隔

标签 javascript jquery html

我正在尝试将类附加到 <a>元素动态如下。

$(document).ready(function() {
  var class = "abc def ghi";
  var url = "something";
  var innerText = "some random text";

  var innerLink = "<a href=" + url + "><i data-name=" + class + " class=" + class + "></i><span>" + innerText + "</span></a>";

  $("#test").append(innerLink);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="test">

</div>

字符串类之间可以有空格。当追加发生时,结果字符串看起来像 <a href="something"><i data-name="abc" def ghi class="abc"></i><span>some random text</span></a>

(检查结果中的元素以查看它)。

但我期待的是 <a href="something"><i data-name="abc def ghi" class="abc def ghi"></i><span>some random text</span></a>

代码有什么问题?

最佳答案

如果值为空格 分隔,则需要另一个包装引号:

class='" + class + "'></i><span>" +
//    ^             ^  ------check this

var innerLink = "<a href='" + url 
                + "'><i data-name='" + class + "' class='" + class + "'></i><span>" + 
innerText + "</span></a>"; //-----^-------------^-------^-------------^

关于附加为类属性时,Javascript 字符串按空格分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35225109/

相关文章:

javascript - HTML5 Canvas 与 SVG + Raphael.js 的优缺点是什么?

jquery - VueJS 和 JQuery 更改类

javascript - 在复选框上启用或禁用 qtip

javascript - 从许多选择标签中选择一次删除选项

php - json_encode 返回未定义

javascript - 如何将函数绑定(bind)到 URL 查询字符串的更改,而不是 hashchange

html - Offcanvas - Android 4.1.x 上的 CSS 转换错误

css - 将位于 div 内的部分与图像居中

javascript - 获取连接到网络的设备的基本信息

javascript - 选择值后隐藏选择(并且页面重新加载)