Javascript 空间或;nbsp;不在jQuery中输出
我从XML中提取了以下内容,并将其放入jQuery变量中Javascript 空间或;nbsp;不在jQuery中输出,javascript,jquery,Javascript,Jquery,我从XML中提取了以下内容,并将其放入jQuery变量中 links.append($("<a href='"+alink+"'></a> ").html(desc)); 非常感谢 你最好使用css,比如: links.append($("<a class='link' href='"+alink+"'></a>").html(desc)); 你可以试试   这似乎在任何地方都没有记录,毫无意义,可能被
links.append($("<a href='"+alink+"'></a> ").html(desc));
非常感谢 你最好使用css,比如:
links.append($("<a class='link' href='"+alink+"'></a>").html(desc));
你可以试试
 
这似乎在任何地方都没有记录,毫无意义,可能被认为是一个bug,但它已经是jQuery的正常行为一段时间了,所以它可能不会消失
当您直接而不是通过$
函数将HTML字符串传递给append
函数(以及其他操作方法)时,不会发生此行为。因此:
links.append("<a href='"+alink+"'></a> ");
或者,更简洁地说,使用jQuery 1.4的props
参数快捷方式:
links.append($('<a/>', {href: alink, html: desc}));
links.append('\xA0');
links.append($('',{href:alink,html:desc}));
links.append('\xA0');
假设desc
确实应该包含HTML标记;如果没有,请使用文本
(我使用了\xA0
,JavaScript字符串文字方式包括一个字符U+00A0不间断空格,因为它比HTML实体引用短整整两个字符。Woohoo!)
(*:它是如何判断字符串是HTML的?为什么,通过检查字符串中是否有
字符,当然是按这个顺序。这意味着如果你试图使用一个包含这些字符的选择器,它会被愚弄。Brilliant,jQuery,Brilliant.(***))
(**:为什么?请参见jQuery 1.4.2的第125行。它从match[1]
-从quickExpr
中的第一个
到最后一个的组,而不是原始字符串或match[0]
)构建HTML片段)
(***:我是在挖苦人。$
函数的疯狂超载是jQuery最糟糕的特性之一。)
$("<a href='"+alink+"'></a> ")
$("<a href='"+alink+"'></a> <!-- don't ignore me! -->")
links.append("<a href='"+alink+"'></a> ");
var link= $('<a/>');
link.attr('href', alink);
link.html(desc);
links.append(link);
links.append('\xA0');
links.append($('<a/>', {href: alink, html: desc}));
links.append('\xA0');