我有一段代码,当将jQuery
符号作为字符串的一部分传递时,正在与"+"
产生一些问题。
这里是一个例子:
var ssArr = ["First/","Second /","Third+"];
if(ssArr !== null) {
$.each(ssArr, function(ind, val){
if(val !== ''){
val = val.replace(/ /g, '').replace('/', '');
console.log(val);
$('.tstNavLi' + val).addClass('active');
}
});
}
ul {
list-style: none;
padding: 0;
margin: 0;
}
ul li {
color: coral;
text-align: center;
font-family: "Arial", sans-serif;
font-size: 30px;
border: 3px solid coral;
margin: 20px 0
}
ul li.active {
color: blue;
border: 3px solid blue;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<ul>
<li class="tstNavLiFirst">First</li>
<li class="tstNavLiSecond">Second</li>
<li class="tstNavLiThird+">Third+</li>
</ul>
</body>
</html>
我该如何使用它?这是cms /购物系统的一部分,"+"
符号的使用非常频繁,因此我无法将"+"
更改为其他符号。
谢谢。
答案 0 :(得分:1)
首先考虑的是那些真的class
,还是应该像data-label
这样的东西?
因为它们实际上不是CSS类,所以可以将它们作为data-label
放置,然后用"[data-label='"+val+"']"
进行选择(如果标签中出现'
,则可以使用转义符进行选择)。 ..)
否则,您将需要正确地转义输入字符串,这可能很麻烦。