jQuery:在html字符串的末尾插入空格
我知道通过css规则来管理间距更好,但是如何使用jQuery在单词之间插入空格呢?考虑下面的脚本(在JSfiddle上),它不像预期的那样工作(空格未插入): html:jQuery:在html字符串的末尾插入空格,jquery,html,whitespace,Jquery,Html,Whitespace,我知道通过css规则来管理间距更好,但是如何使用jQuery在单词之间插入空格呢?考虑下面的脚本(在JSfiddle上),它不像预期的那样工作(空格未插入): html: 你好 js: $(“my”).insertAfter($(“#div1”).children(“span”).eq(0)); $(“朋友”).insertAfter($(“#div1”).children(“span”).eq(1)); 警报($(“#div1”).html()); $(“my”).insertAfter
你好
js:
$(“my”).insertAfter($(“#div1”).children(“span”).eq(0));
$(“朋友”).insertAfter($(“#div1”).children(“span”).eq(1));
警报($(“#div1”).html());
$(“my”).insertAfter($(“#div1”).children(“span”).eq(0));
$(“朋友”).insertAfter($(“#div1”).children(“span”).eq(1))代码>
你好
一种方法是使用.before()
插入空格:
$("<span>my</span>").insertAfter($("#div1").children("span").eq(0)).before(" ")
$("<span>friends</span>").insertAfter($("#div1").children("span").eq(1)).before(" ")
$(“my”).insertAfter($(“#div1”).children($).eq(0)).before(“”)
$(“friends”)。插入后面($(“#div1”)。儿童($)。情商(1))。在(“”)之前
jsiddle演示:这一行:
$("<span>my</span> ")
$(“我的”)
创建一个没有结束空间的跨度元素,如下面的代码段所示
可以将所有链接减少到一行:
$("<span> my </span>")
.insertAfter($("#div1 span:first")).append($("<span>friends </span>"));
$(“我的”)
.insertAfter($(“#div1 span:first”).append($($(“friends”));
console.log('Test:-->'+$(“my”)[0].outerHTML+'您的问题不在于JS,而在于HTML,您在span元素之外添加了空格,这是没有效果的。如果您在span元素中添加了空格(常规空格可以使用,不需要实体名称),则可以使用
除此之外,如果使用JQuery append()方法,您可以稍微整理一下代码。这也将使句子位于一个span元素中
<span id="text">hello</span>
<script>
$("#text").append(" my");
$("#text").append(" friends");
</script>
你好
$(“#文本”)。附加(“我的”);
$(“#文本”)。附加(“朋友”);
如果使用append
,会更容易:
$(“#div1”)。追加(
' ',
$('').text('my'),
' ',
$('').text('friends'),
' '
);
你好
反对使用填充的要点是什么?我知道你说过你知道使用CSS更好。但是为什么你需要打印空格?诀窍是强制显示空格
$("<span> my </span>")
.insertAfter($("#div1 span:first")).append($("<span>friends </span>"));
<span id="text">hello</span>
<script>
$("#text").append(" my");
$("#text").append(" friends");
</script>