问题是将值转换为具有以下输入的文本
var test = '<html>Weight(lb)</html>'
$(test) -- Pass
var test = 'Weight(lb)'
$(test) -- fail
我知道这与转义序列有关但我怎么能动态处理它,因为我的测试变量是动态的,可以有任何特殊字符。
我的下一个问题是这个HTML到文本转换发生了。有没有更好的方法,我可以有一个基于HTML或纯文本转换的常见功能。例如
var test = '<html>Weight(lb)</html>'
$(test).text() ==> "Weight(lb)"
var test = 'Weight(lb)'
$(test).text() ==> "" expected : "Weight(lb)"
无论简单或HTML文本如何,我都可以使用什么属性来获得正确的结果。我试图避免编写一个if循环来查看id它是html还是普通的,如果可能的话根据它编写鳕鱼
由于
答案 0 :(得分:1)
在我的测试中,$('Weight')
也返回&#34;&#34;。无论如何,我会再次包装该值,这对我有用。这是有效的,因为text()
始终会返回未标记的文本,因为您可以阅读here。
$("<html>"+"Weight(lb")+"</html>").text();
答案 1 :(得分:1)
你的问题有点可疑,但让我以我理解的方式回复。
您似乎正在尝试避免解析html文字。
所以,坚持使用旧的JAVASCRIPT,函数返回以下内容:
function returnStringLiteral(x){
// is what you may be after
return document.createTextNode(x).data;
};
returnStringLiteral('<html>Weight(lb)</html>'
);
事实上,除非你追求其他事情,否则将会做这项工作。
答案 2 :(得分:0)
如果您参考JQuery文档
它解释了Selector要么从dom中选择元素。或者通过传递有效的HTML来创建元素。
所以,在你的情况下
//This is valid HTML
var test = '<html>Weight(lb)</html>'
$(test) -- Pass
//Not a Valid HTML
var test = 'Weight(lb)'
$(test) -- fail
// Here since $(test) will be undefined
var test = 'Weight'
$(test) -- pass