jquery - 根据单击的链接使用 jquery 编辑 div
问题描述
我有一个导航栏,其中包含几个不同的 div,我想根据刚刚单击的链接进行更改
<script>
$(document).ready(function (){
$("#content").load("content/index_content.php");
$('a').click(function(){
$('#content').load($(this).attr('href'));
$('#nav_' + 'a' + "active");
return false;
});
});
</script>
<span id="nav">
<a href="content/index_content.php"><div id="nav_home_active></div></a><a href="content/news_content.php"><div id="nav_news">
</div></a>
<a href="content/staff_content.php"><div id="nav_staff"></div></a>
<a href="stats.php"><div id="nav_stats"></div></a>
<a href="content/contact_content.php"><div id="nav_contact"></div>
</a>
</span>
jquery 块中的第 7 行是我能想到的,显然它不起作用。如何将“活动”一词连接到现有 div 以反映当前页面并更改按钮?
谢谢
解决方案
您可以$(this)
在 jQuery 事件处理程序中使用来引用事件处理程序正在响应的元素。
例如
$(document).ready(function (){
$("#content").load("content/index_content.php");
$('a').click(function(){
$('#content').load($(this).attr('href'));
$(this).addClass('active').siblings().removeClass('active');
return false;
});
});
这会将类添加active
到单击的链接中,并从任何同级中删除相同的类。然后,您可以使用a.active
来引用活动链接。
编辑
抱歉 - 意识到您正在尝试编辑 div,而不是链接。
您可以$(this).children('div')
在处理程序中使用来访问单击链接中的 div。
$(document).ready(function (){
$("#content").load("content/index_content.php");
$('a').click(function(){
$('#content').load($(this).attr('href'));
$(this).addClass('active').siblings().removeClass('active');
$(this).children('div').addClass('active');
return false;
});
});
推荐阅读
- java - 如何根据 XSD 模式验证 XML 结构的单个条目
- python - 是否可以返回石墨烯突变的对象列表?
- powershell - 在数字首次出现后对 .CSV 的内容进行排序
- javascript - 打字稿中的for循环用于提取dynamodb数据
- javascript - 在 shopify 购物车页面上显示自定义输入字段
- xamarin.forms - 用固定大小的单元格填充屏幕
- django - 具有抽象用户和身份验证的 Django 租户
- reactjs - 元素不可分配给类型'FC
' - asp.net-core - 尝试在 C# ASP.NET Core 的数据表中水平存储图像
- javascript - 即使我的 package.json 和 node_modules 文件夹中有未定义的包,我也会收到它们