Javascript 如何在jquery中转义特殊字符
我正在使用get元素by class函数Javascript 如何在jquery中转义特殊字符,javascript,jquery,Javascript,Jquery,我正在使用get元素by class函数$(“.classname”),但是当类名中有空格、加号、斜杠时,它就不起作用了(我无法更改类名) var summaryLEVEL5=$(“.level5”); var summaryLEVEL5Total=0; 对于(i=0;i、?、#等)的代码: <script language="JavaScript"> <!-- var temp = new String('This is a te!!!!st st>ring... So
$(“.classname”)
,但是当类名中有空格、加号、斜杠时,它就不起作用了(我无法更改类名)
var summaryLEVEL5=$(“.level5”);
var summaryLEVEL5Total=0;
对于(i=0;i
上面的函数就是我正在使用的。它似乎适用于所有其他类名,但不适用于“level”和“5”之间有空格的类名
如何转义空格、plsu符号、正斜杠?类名不能有空格;如果html元素具有如下类属性:
<p class="foo bar">
.LEVEL.5
类名不能有空格;如果html元素具有如下类属性:
<p class="foo bar">
.LEVEL.5
类名中有空格没有任何意义。当一个“class”属性有多个由空格分隔的单词时,这意味着该元素有多个单独的class值。您可以通过将两个独立的“.”表达式并置来找到这些表达式:
var whatever = $('.LEVEL.5CapGroup');
它们之间没有空格,每个类名前都有一个“.”
对于其他“特殊”字符,jQuery将把“\”作为转义字符:
var whatever = $('.className\.WithDot');
类名中有空格没有任何意义。当一个“class”属性有多个由空格分隔的单词时,这意味着该元素有多个单独的class值。您可以通过将两个独立的“.”表达式并置来找到这些表达式:
var whatever = $('.LEVEL.5CapGroup');
它们之间没有空格,每个类名前都有一个“.”
对于其他“特殊”字符,jQuery将把“\”作为转义字符:
var whatever = $('.className\.WithDot');
CSS类名中不能有空格,这将导致子体选择器:(CSS规范:)CSS类名中不能有空格,这将导致子体选择器:(CSS规范:)问题分为两组:空白和其他。对于其他人,比如括号,它是直截了当的:用反斜杠
\
将它们转义,就完成了
由于类的定义,空间更为复杂:它们是由空格分隔的标记组成的列表。这意味着,您不能保证任何浏览器都会保持定义单个类的顺序
幸运的是,您可以这样查询每个“空间分隔”类:
<p class="foo bar">
.LEVEL.5
请注意,空格现在已替换为点。但是,您不能将此解决方案应用于行中的更多空格,也不能在空格和制表符之间进行选择。问题分为两组:空白和其他。对于其他人,比如括号,它是直截了当的:用反斜杠
\
将它们转义,就完成了
由于类的定义,空间更为复杂:它们是由空格分隔的标记组成的列表。这意味着,您不能保证任何浏览器都会保持定义单个类的顺序
幸运的是,您可以这样查询每个“空间分隔”类:
<p class="foo bar">
.LEVEL.5
请注意,空格现在已替换为点。但是,您不能将此解决方案应用于行中的更多空格,也不能在空格和制表符之间进行选择。请查看验证插件 无论您做什么,也要在服务器端验证用户名 下面是使用JavaScript从字符串中删除特殊字符(如!、>、?、#等)的代码:
<script language="JavaScript">
<!-- var temp = new String('This is a te!!!!st st>ring... So??? What...'); document.write(temp + '<br>'); temp = temp.replace(/[^a-zA-Z 0-9]+/g,''); document.write(temp + '<br>'); //-->
</script>
查看验证插件 无论您做什么,也要在服务器端验证用户名 下面是使用JavaScript从字符串中删除特殊字符(如!、>、?、#等)的代码:
<script language="JavaScript">
<!-- var temp = new String('This is a te!!!!st st>ring... So??? What...'); document.write(temp + '<br>'); temp = temp.replace(/[^a-zA-Z 0-9]+/g,''); document.write(temp + '<br>'); //-->
</script>
像
+
这样的特殊字符可以用作类名
在CSS
请参见如何转义CSS中的任何字符
我们已经测试过了,它可以很好地用于CSS
但是在jQuery中,您使用了DOUBLE\\
:)像
+
这样的特殊字符可以用作类名
在CSS
请参见如何转义CSS中的任何字符
我们已经测试过了,它可以很好地用于CSS
但是在jQuery中,您使用了DOUBLE\\
:)我非常确定类名中不允许使用这些字符-请参阅我非常确定类名中不允许使用这些字符-请参阅+1:“多个类名必须用空格字符分隔。”+1:“多个类名必须用空格字符分隔。”