在执行 location.search 和 decodeURIComponent 之后将 class 添加到 div
Add class to a div after doing location.search and decodeURIComponent
我想在单击此按钮(如选项卡)时向 <li>
添加 class "active"。 coffeeScript 将搜索 URL 并重置散列 URL 以向页面提供内容。选择每个选项卡时,我使用 $("."+key).addClass("active")
添加 class。但是 key 的初始值未定义,所以在 javaScript 控制台中它出现 jQuery Uncaught Error: Syntax error, unrecognized expression:. .
在这种情况下,如何给键一个初始值,因为页面总是在 location.search
之后重新加载?
HTML:
<nav>
<ul class="nav">
<li class = "sherlock"><img src="logo1.png" ></a></li>
<li class = "aesop"><img src="logo2.png" ></a></li>
</ul>
</nav>
CoffeeScript:
$ ->
key = decodeURIComponent(location.search).replace("?","")
$("."+key).addClass("active")
$("nav").on "click",".sherlock", ->
key = "sherlock"
location.replace("#")
location.search = encodeURIComponent(key)
$("nav").on "click",".aesop", ->
key = "aesop"
location.replace("#")
location.search = encodeURIComponent(key)
在继续之前检查键是否未定义:
key = decodeURIComponent(location.search).replace("?","")
if (typeof key !== "undefined"){
// your code here.
}
如果键在别处定义但可能为空或 null,您也可以使用 if (key){//Your code here }
。
我想在单击此按钮(如选项卡)时向 <li>
添加 class "active"。 coffeeScript 将搜索 URL 并重置散列 URL 以向页面提供内容。选择每个选项卡时,我使用 $("."+key).addClass("active")
添加 class。但是 key 的初始值未定义,所以在 javaScript 控制台中它出现 jQuery Uncaught Error: Syntax error, unrecognized expression:. .
在这种情况下,如何给键一个初始值,因为页面总是在 location.search
之后重新加载?
HTML:
<nav>
<ul class="nav">
<li class = "sherlock"><img src="logo1.png" ></a></li>
<li class = "aesop"><img src="logo2.png" ></a></li>
</ul>
</nav>
CoffeeScript:
$ ->
key = decodeURIComponent(location.search).replace("?","")
$("."+key).addClass("active")
$("nav").on "click",".sherlock", ->
key = "sherlock"
location.replace("#")
location.search = encodeURIComponent(key)
$("nav").on "click",".aesop", ->
key = "aesop"
location.replace("#")
location.search = encodeURIComponent(key)
在继续之前检查键是否未定义:
key = decodeURIComponent(location.search).replace("?","")
if (typeof key !== "undefined"){
// your code here.
}
如果键在别处定义但可能为空或 null,您也可以使用 if (key){//Your code here }
。