Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.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
Javascript Html/纯文本内部文本和特殊字符转义序列动态_Javascript_Jquery_Html - Fatal编程技术网

Javascript Html/纯文本内部文本和特殊字符转义序列动态

Javascript Html/纯文本内部文本和特殊字符转义序列动态,javascript,jquery,html,Javascript,Jquery,Html,我在将值转换为具有以下输入的文本时遇到问题 var test = '<html>Weight(lb)</html>' $(test) -- Pass var test = 'Weight(lb)' $(test) -- fail var测试='重量(磅)' $(测试)-通过 var测试='重量(磅)' $(测试)-失败 我知道这与转义序列有关,但我如何动态处理它,因为我的测试变量是动态的,可以有任何特殊字符 我的下一个问题是HTML到文本的转换。有没有更好的方法

我在将值转换为具有以下输入的文本时遇到问题

var test = '<html>Weight(lb)</html>'
$(test) -- Pass

var test = 'Weight(lb)'
$(test)   -- fail
var测试='重量(磅)'
$(测试)-通过
var测试='重量(磅)'
$(测试)-失败
我知道这与转义序列有关,但我如何动态处理它,因为我的测试变量是动态的,可以有任何特殊字符

我的下一个问题是HTML到文本的转换。有没有更好的方法可以实现基于html或纯文本的通用函数转换。比如说

var test = '<html>Weight(lb)</html>'
$(test).text() ==>  "Weight(lb)"

var test = 'Weight(lb)'
$(test).text() ==> ""  expected : "Weight(lb)"
var测试='重量(磅)'
$(测试).text()==>“重量(磅)”
var测试='重量(磅)'
$(测试).text()==>“”应为:“重量(磅)”
无论是纯文本还是HTML文本,我都可以使用什么属性来获得正确的结果。我试图避免写一个if循环来查看id,如果可能的话,它是html或plain,并基于它来写cod

谢谢

在我的测试中,
$('Weight')
也返回了“”。无论如何,我只需要再次包装该值,这对我来说很有效。这是可行的,因为
text()
总是返回您可以读取的未标记文本

$(“+”重量(磅”)+”).text();

如果您参考JQuery文档

它解释了选择器从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
//这是有效的HTML
var测试='重量(磅)'
$(测试)-通过
//不是有效的HTML
var测试='重量(磅)'
$(测试)-失败
//此处,因为$(test)将是未定义的
var测试='权重'
$(测试)-通过

你的问题有点可疑,但让我以我理解的方式回答

似乎您正试图避免对html文本进行解析

因此,使用良好的旧JAVASCRIPT,函数返回如下:

returnStringLiteral('重量(磅)'
);

事实上,如果您不想做其他事情,Will可能会做这项工作。

返回的是什么?$('Weight(lb))返回的是什么?获取“语法错误,无法识别的表达式”为什么会进行下推?我试图避免if循环查看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
function returnStringLiteral(x){

// is what you may be after 
return document.createTextNode(x).data;
};
returnStringLiteral('<html>Weight(lb)</html>'
);