_POST和CSS,如何显示一个活动链接
PHP: _POST and CSS, how to show an active link
我有一个网站,我在PHP建设,并有一个页面,从mySQL动态加载数据。它使用用户单击的列表项,导致对数据库的_POST,因此不允许我自定义他们现在看到的页面的CSS。我想知道是否有一种方法可以动态设置他们点击的<li>
的css类,以突出显示它。问题是,如果他们按下另一个列表项,我必须取消突出显示旧项。有人有什么建议吗?
假设您通过AJAX提交POST请求,添加如下内容(我将假设您已经完成了AJAX部分)
// var context is a previously identified container for the list items
var items = context.getElementsByTagName('li');
for (var i = 0; i < items.length; i++) {
items[i].addEventListener('click', function() {
// do AJAX stuff
// remove the "highlight" class from all list items
for (var j = 0; j < items.length; j++) {
var classname = items[j].className;
items[j].className = classname.replace(/'bhighlight-class-name'b/i, '');
}
// set the "highlight" class on the clicked item
this.className += ' highlight-class-name';
}, false);
}
这里的演示- http://jsfiddle.net/jYdMB/
似乎您正在使用Ajax。JS脚本可以做到这一点。下面是我将如何尝试在JS
- 创建具有唯一id的列表
- 使用jquery/prototype/xyz toolkit将点击事件绑定到这些列表
- 一旦收到点击,我就会查看事件目标,并尝试在其上设置或重置类名
为了进一步阅读,我建议使用jQuery编写这个示例
jQuery答案:http://jsfiddle.net/qYUAz/
<style type="text/css">
#myNav .active{
color:red;
font-weight:bold;
}
</style>
<ul id="myNav">
<li><a href="#1">link 1</a></li>
<li><a href="#2">link 2</a></li>
<li><a href="#3">link 3</a></li>
</ul>
<script type="text/javascript">
$('#myNav a').click(function(){
$('#myNav a').removeClass('active');
$(this).addClass('active');
});
</script>
相关文章:
- Javascript XMLHttpRequest——只有第一个POST请求有效
- 打开一个选项卡,并在firefox网络扩展中向其发出POST请求
- 为什么我的$http.post返回一个400错误
- 如何将JavaScript自动POST的状态代码获取到另一个域
- jQuery's$.post只返回一个空白数据
- 当我想发布一个变量但有 1 个 js 时,ajax post 的解决方案是什么
- 从返回的数据 ajax post 创建一个变量
- 从chrome扩展创建一个包含POST数据的链接
- 使用Jquery和PHP在POST Ajax之后返回(一个空字符串)
- 从一个函数传递到另一个函数的变量在使用jQuery的.post之后变得未定义
- 与node.js的get/post混淆,并试图创建一个新页面
- 在引导文件输入中通过post发送一个额外的变量
- 我想单击一个
- 并获取 id 以通过 POST 将其插入数据库,可以吗?
- 同步函数调用涉及post-json调用,其中一个函数应该在另一个函数成功后成功
- 如何将jquery post结果传递给另一个函数
- node.js - 发送一个整数作为 POST 请求中的输入参数
- 在JSON中POST一个js::数组,得到"undefined:undefined”;
- Webkit JavaScript可以PUT或POST一个rest风格的纯二进制图像吗?
- Post一个Javascript数组到Node.js
- 如何POST一个extjs标签字段作为一个数组,没有引号