需要一些帮助来构建此JQUERY条件的逻辑语法。
如果当前url窗口包含特定的$string
(index.php),那么我想将值添加到特定的<li>
类。如下所示。
<ul class="nav">
<li>...</li>
<li>index</li>
</ul>
这是目标元素
('.nav li:nth-child(2) ').addClass("selected")
。
这是我的jquery。我不太确定如何为我的逻辑编码正确的语法。
$j(function(){
var url = window.location.pathname;
var string = 'index.php';
if //current url has $string ('index.php') {
$j( ".nav li:nth-child(2)" ).addClass( "active" );
});
});
答案 0 :(得分:1)
你试过吗?
var url = window.location.pathname;
var string = 'index.php';
if(url.indexOf(string) !== -1) {
$j( ".nav li:nth-child(2)" ).addClass( "active" );
}
答案 1 :(得分:0)
您可以使用以下内容:http://api.jquery.com/contains-selector/
这允许您搜索特定字符串(区分大小写)
答案 2 :(得分:0)
在服务器端这样做会更好,因为window.location.path
在重定向和默认页面方案中不会包含index.php
。
只需回复<script>
标记或来自index.php
的全局设置变量:
<!-- in index.php -->
<script type="text/javascript">
Settings.isIndex = true;
</script>
在script.js中:
var Settings = { isIndex: false };
$j(function(){
var url = window.location.pathname;
var string = 'index.php';
if (Settings.isIndex) {
$j( ".nav li:nth-child(2)" ).addClass( "active" );
});
});
答案 3 :(得分:0)
您也可以使用。
var url = window.location.pathname;
var your_string = 'index.php';
if(url.contains(your_string) === true ) {
$j( ".nav li:nth-child(2)" ).addClass( "active" );
}
或
if(url.indexOf(your_string) !== -1) {
$j( ".nav li:nth-child(2)" ).addClass( "active" );
}