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