gpt4 book ai didi

javascript - jQuery $() 构造函数和带有前导反斜杠的字符串

转载 作者:行者123 更新时间:2023-11-30 13:04:45 24 4
gpt4 key购买 nike

请看一下这段代码:http://jsfiddle.net/Bkdgr/1/
它不起作用。但是,以下两个修改中的任何一个都可以使其正常工作:

路过纯newItem append 中的字符串, 而不是用 $() 包装它:

$('button').on('click', function(e){
e.preventDefault();
var newItem = '\
<li>Hello, \
World!</li>';
$('ul').append(newItem);
});


搬家开场<li>标记到字符串定义的第一行:

$('button').on('click', function(e){
e.preventDefault();
var newItem = '<li>Hello, \
World!</li>';
$('ul').append($(newItem));
});


当我向上移动时它也不起作用 <li>与前导 \ 处于同一行(但不删除 \ )。
对我来说,这似乎是 $()构造函数的前导 \ 有问题在字符串定义中。将纯字符串(没有 $() 包装器)传递到 append似乎不会造成任何问题。
为什么它会这样工作?前导斜线在 $() 中是否有任何特殊含义? ?

最佳答案

由 jQuery 使用 $() 解析的 html 字符串不能有前导空格或换行符/返回字符,甚至不能只有纯文本。这在 API 中有记录。

http://api.jquery.com/jQuery/#jQuery2

如果它是一个 HTML 字符串,它必须以 html 标签开头。 .append().html() 没有那么严格,因为传入的字符串不能被解析为 css 选择器。

关于javascript - jQuery $() 构造函数和带有前导反斜杠的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16092810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com