Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery:在html字符串的末尾插入空格_Jquery_Html_Whitespace - Fatal编程技术网

jQuery:在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

我知道通过css规则来管理间距更好,但是如何使用jQuery在单词之间插入空格呢?考虑下面的脚本(在JSfiddle上),它不像预期的那样工作(空格未插入):

html:


你好
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("&nbsp;")
$("<span>friends</span>").insertAfter($("#div1").children("span").eq(1)).before("&nbsp;")
$(“my”).insertAfter($(“#div1”).children($).eq(0)).before(“”)
$(“friends”)。插入后面($(“#div1”)。儿童($)。情商(1))。在(“”)之前
jsiddle演示:

这一行:

$("<span>my</span> &nbsp;")
$(“我的”)
创建一个没有结束空间的跨度元素,如下面的代码段所示

可以将所有链接减少到一行:

$("<span>&nbsp;my&nbsp;</span>")
  .insertAfter($("#div1 span:first")).append($("<span>friends&nbsp;</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>&nbsp;my&nbsp;</span>")
  .insertAfter($("#div1 span:first")).append($("<span>friends&nbsp;</span>"));
<span id="text">hello</span>
<script>
  $("#text").append(" my");
  $("#text").append(" friends");
</script>