如何转义jquery字符串

如何转义jquery字符串,jquery,Jquery,我使用jquery解析字符串 message="<div messageid=999 value=something>hello</div>"; $(message).attr('messageid'); 解决该问题的解决方案是什么?当您将字符串作为第一个参数传递给jQuery函数($)时,该函数将尝试确定它是选择器还是HTML字符串 当您使用感叹号或冒号,并且字符串中没有HTML标记时,jQuery将假定它是选择器,因为“!”和“:”是选择器语法的一部分 这就是为什么

我使用jquery解析字符串

message="<div messageid=999 value=something>hello</div>";
$(message).attr('messageid');

解决该问题的解决方案是什么?

当您将字符串作为第一个参数传递给jQuery函数($)时,该函数将尝试确定它是选择器还是HTML字符串

当您使用感叹号或冒号,并且字符串中没有HTML标记时,jQuery将假定它是选择器,因为“!”和“:”是选择器语法的一部分

这就是为什么调用
$(“!hello world!”)
会引发错误的原因

您可以使用以下命令强制将其视为HTML字符串:

请注意,使用“!”和“:”没有问题,如果字符串中有标记:

message="<div messageid=999 value=something>:No problems here!</div>"
$(message).attr('messageid')
message=“:这里没有问题!”
$(message.attr('messageid'))


我的回答基于这样一个假设,即您正试图避免运行时错误。查询
$('hello world')
$($.parseHTML('!hello world!')
上的属性显然会返回
未定义的

当您将字符串作为第一个参数传递给jQuery函数($)时,该函数会尝试确定它是选择器还是HTML字符串

当您使用感叹号或冒号,并且字符串中没有HTML标记时,jQuery将假定它是选择器,因为“!”和“:”是选择器语法的一部分

这就是为什么调用
$(“!hello world!”)
会引发错误的原因

您可以使用以下命令强制将其视为HTML字符串:

请注意,使用“!”和“:”没有问题,如果字符串中有标记:

message="<div messageid=999 value=something>:No problems here!</div>"
$(message).attr('messageid')
message=“:这里没有问题!”
$(message.attr('messageid'))


我的回答基于这样一个假设,即您正试图避免运行时错误。查询
$('hello world')
$($.parseHTML('!hello world!')
上的属性显然会返回
未定义的

当您将字符串作为第一个参数传递给jQuery函数($)时,该函数会尝试确定它是选择器还是HTML字符串

当您使用感叹号或冒号,并且字符串中没有HTML标记时,jQuery将假定它是选择器,因为“!”和“:”是选择器语法的一部分

这就是为什么调用
$(“!hello world!”)
会引发错误的原因

您可以使用以下命令强制将其视为HTML字符串:

请注意,使用“!”和“:”没有问题,如果字符串中有标记:

message="<div messageid=999 value=something>:No problems here!</div>"
$(message).attr('messageid')
message=“:这里没有问题!”
$(message.attr('messageid'))


我的回答基于这样一个假设,即您正试图避免运行时错误。查询
$('hello world')
$($.parseHTML('!hello world!')
上的属性显然会返回
未定义的

当您将字符串作为第一个参数传递给jQuery函数($)时,该函数会尝试确定它是选择器还是HTML字符串

当您使用感叹号或冒号,并且字符串中没有HTML标记时,jQuery将假定它是选择器,因为“!”和“:”是选择器语法的一部分

这就是为什么调用
$(“!hello world!”)
会引发错误的原因

您可以使用以下命令强制将其视为HTML字符串:

请注意,使用“!”和“:”没有问题,如果字符串中有标记:

message="<div messageid=999 value=something>:No problems here!</div>"
$(message).attr('messageid')
message=“:这里没有问题!”
$(message.attr('messageid'))



我的回答基于这样一个假设,即您正试图避免运行时错误。查询
$('hello world')
$($.parseHTML('!hello world!')
上的属性显然会返回
未定义的

在第二个示例中,字符串不包含html标记,也没有mesageid属性,但您正在尝试访问它,为什么?在第二个示例中,字符串不包含html标记,也没有mesageid属性,但您正在尝试访问它,为什么?在第二个示例中,字符串不包含html标记,也没有mesageid属性,但您正在尝试访问它,为什么?在第二个示例中,字符串不包含html标记,也没有mesageid属性,但您正在尝试访问它,为什么?message=“!hello world!”$($.parseHTML(message)).attr('messageid');给了我同样的错误它在这个小提琴中没有给出一个错误:你使用的是什么版本的jQuery?将它包装在
控制台中。log
使它出现在控制台中,但是返回的值仍然是
未定义的
,因为任何给定的字符串都没有
messageid
属性。正确,它是
未定义的
,但这与抛出错误不同,错误发生在不使用
$.parseHTML
时。我收回我的语句。忘记将jQuery添加到我的测试环境中导致了错误的答案和对提问者问题的误解$($.parseHTML(message)).attr('messageid');给了我同样的错误它在这个小提琴中没有给出一个错误:你使用的是什么版本的jQuery?将它包装在
控制台中。log
使它出现在控制台中,但是返回的值仍然是
未定义的
,因为任何给定的字符串都没有
messageid
属性。正确,它是
未定义的
,但这与抛出错误不同,错误发生在不使用
$.parseHTML
时。我收回我的语句。忘记将jQuery添加到我的测试环境中导致了错误的答案和对提问者问题的误解$($.parseHTML(message)).attr('messageid');给了我同样的错误它在这个小提琴中没有给出一个错误:你使用的是什么版本的jQuery?将它包装在
控制台中。log
使它出现在控制台中,但是返回的值仍然是
未定义的
,因为任何给定的字符串都没有
messageid
属性。正确,它是
未定义的
,但这与抛出错误不同,错误发生在不使用
$.parseHTM时