已选择jQuery菜单项
我爱你 我有这个菜单:已选择jQuery菜单项,jquery,Jquery,我爱你 我有这个菜单: <ul id="navigation"> <li><a href="index.php">Home</a></li> <li><a href="index.php?page=Entidad">Entidad</a></li> </ul> 它不起作用,你能帮我吗?a的父是li它自己,所以你不需要查找li $(docume
<ul id="navigation">
<li><a href="index.php">Home</a></li>
<li><a href="index.php?page=Entidad">Entidad</a></li>
</ul>
它不起作用,你能帮我吗?a的
父是li
它自己,所以你不需要查找li
$(document).ready(function(){
$("li a").click(function(){
$(this).parent().addClass('active');
});
});
$(document).ready(function(){
$("li a").click(function(event){
$('#navigation li').removeClass();
$(this).parent().addClass('active');
});
});
编辑从以前的元素中删除类并添加到当前
$(document).ready(function(){
$("li a").click(function(){
$(this).parent().addClass('active');
});
});
$(document).ready(function(){
$("li a").click(function(event){
$('#navigation li').removeClass();
$(this).parent().addClass('active');
});
});
a
的parent
是li
本身,因此您不需要查找li
$(document).ready(function(){
$("li a").click(function(){
$(this).parent().addClass('active');
});
});
$(document).ready(function(){
$("li a").click(function(event){
$('#navigation li').removeClass();
$(this).parent().addClass('active');
});
});
编辑从以前的元素中删除类并添加到当前
$(document).ready(function(){
$("li a").click(function(){
$(this).parent().addClass('active');
});
});
$(document).ready(function(){
$("li a").click(function(event){
$('#navigation li').removeClass();
$(this).parent().addClass('active');
});
});
在处理a
的单击时,li
是父项,因此只需执行以下操作:
$(this).parent().addClass('active');
但是,你确信这一点吗?因为我认为让链接成为活动的东西是明智的?只是一个观察。当处理a
的点击时,li
是父项,因此只需执行以下操作:
$(this).parent().addClass('active');
但是,你确信这一点吗?因为我认为让链接成为活动的东西是明智的?只是一个观察。只是
$(this).parent().addClass('active'); // $(this).parent() selects list element
不需要再在那里找到li元素。它只是
$(this).parent().addClass('active'); // $(this).parent() selects list element
无需在此处再次找到li元素。单击超链接后,您的页面将刷新,因此此代码$(this).parent().addClass('active')
将无法工作
请尝试以下方法:
$(function() {
var page = getParameterByName('page');
$("#navigation a:contains('" + page + "')").parent().addClass('active');
});
function getParameterByName(name)
{
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.search);
if(results == null)
return "Home";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
单击超链接后,您的页面将刷新,因此此代码$(this).parent().addClass('active')
将无法工作
请尝试以下方法:
$(function() {
var page = getParameterByName('page');
$("#navigation a:contains('" + page + "')").parent().addClass('active');
});
function getParameterByName(name)
{
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.search);
if(results == null)
return "Home";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
您好,Adil,您的代码运行良好,但通过单击链接,我将重新加载页面,而不会将类应用于“li”元素:(我使用了event.preventDefault();若要取消链接的默认行为,请执行此操作,或者在不需要重新加载的情况下将事件绑定到li。问题是,我需要创建指向某些页面的链接,然后将处的类应用于li元素,但重新加载页面时,我会丢失jquery操作。您有什么建议吗?您好,您的代码工作正常,但单击链接,我会看到eload页面,而不将类应用于“li”元素。:(我使用了event.preventDefault();若要取消链接的默认行为,请执行该操作,或者在不需要重新加载的情况下将事件绑定到li。问题是,我需要创建指向某些页面的链接,然后将处的类应用于li元素,但重新加载页面时,我将丢失jquery操作。您有什么建议吗?