在 jquery 中处理多个 ID
Dealing with multiple IDs in jquery
My JSFiddle
我有多个链接,我想在所有链接上都有相同的悬停效果,有什么简单的方法可以做到这一点。我为一个ID编写了Javascript,但我不想为所有链接编写。悬停时,链接文本应更改为白色,背景颜色应更改为红色。
.CSS
ul {
list-style-type: none;
}
li {
margin-bottom:5px;
width:100px;
}
ul li a{
text-decoration:none;
color:black;
}
.HTML
<div style='padding:10px;border:2px solid red'>
<ul>
<li id='llist'><a href='#' id='list'>List</a></li>
<li id='lgroups'><a href='#' id='groups'>Groups</a></li>
<li id='lprofile'><a href='#' id='profile'>Profile</a></li>
<li id='linvitations'><a href='#' id='invitations'>Invitations</a></li>
</ul>
<h5 style='color: white'>PROJECTS</h5>
<ul>
<li id='lsummary'><a href='#' id='summary'>Summary</a></li>
<li id='ltrack'><a href='#' id='track'>Track</a></li>
<li id='lmanage'><a href='#' id='manage'>Manage</a></li>
<li id='lexport'><a href='#' id='export'>Export</a></li>
</ul>
<h5 style='color: white'>ANALYSIS</h5>
<ul>
<li id='lanalyse'><a href='#' id='analyse'>Analyse</a></li>
<li id='lviewall'><a href='#' id='viewall'>ViewAll</a></li>
<li id='lexport'><a href='#' id='export'>Export</a></li>
</ul>
<h5 style='color: white'>SETTINGS</h5>
<ul>
<li id='lusers'><a href='#' id='users'>Users</a></li>
<li id='larchive'><a href='#' id='archive'>Archive</a></li>
<li id='lsystem'><a href='#' id='system'>System</a></li>
<li id='lmyprofile'><a href='#' id='myprofile'>My Profile</a></li>
</ul>
</div>
.JS
$(document).ready(function(){
$('#list').hover(
function(){
$(this).css('margin-left','10px');
$(this).css('color','white');
$('#llist').css('background-color','red');
},function(){
$(this).css('margin-left','0px');
$(this).css('color','black');
$('#llist').css('background-color','white');
}
);
});
注意:在这里我给了"a"标签,也许它会变得容易:悬停,a:链接等。还要写下答案,牢记这一点,它将适用于所有人。
选择你喜欢的那个
.HTML
<ul class="list_items">
为 UL 分配类 list_items
.js
$(document).ready(function(){
$('.list_items li a').hover(
function(){
$(this).css('margin-left','10px');
$(this).css('color','white');
$(this).css('background-color','red');
},function(){
$(this).css('margin-left','0px');
$(this).css('color','black');
$(this).css('background-color','white');
}
);
});
更新的演示
更好的 js 方法
$(document).ready(function () {
$('.list_items li a').hover(
function () {
var x = $(this).parent('li');
x.css({
'margin-left': '10px',
'color': 'white',
'background-color': 'red'
});
},
function () {
var x = $(this).parent('li');
x.css({
'margin-left': '0px',
'color': 'black',
'background-color': 'white'
});
});
});
更多更好的课程方法
演示
.js
$(document).ready(function () {
$('.list_items li').hover(
function () {
$(this).addClass('active');
},
function () {
$(this).removeClass('active');
});
});
.css
.active {
margin-left:10px;
color:white;
background-color:red;
}
或者只是 CSS 方法
演示
ul.list_items li:hover {
margin-left:10px;
color:white;
background-color:red;
}
仅限 CSS 的解决方案:
http://jsfiddle.net/sGfxV/18/
ul {
list-style-type: none;
}
ul li {
margin-bottom:5px;
width:100px;
background-color: white;
}
ul li a {
text-decoration:none;
color:black;
margin-left: 0px;
}
ul li:hover {
background-color: red;
}
ul li:hover a {
margin-left: 10px;
color: white;
}
/* transitions for fun */
ul li,
ul li a {
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
transition: all 0.3s ease;
}
为每个 id 添加一个公共字符串并捕获其上的悬停事件。例如,公共字符串是"MyLink",下面的代码是捕获其上的事件。在代码中进行更改,如下所示:
<li id='llist_MyLink'><a href='#' id='list'>List</a></li>
<li id='lgroups_MyLink'><a href='#' id='groups'>Groups</a></li>
<li id='lprofile_MyLink'><a href='#' id='profile'>Profile</a></li>
$('[id*="MyLink"]').hover(
function(){
$(this).css('margin-left','10px');
$(this).css('color','white');
$(this).css('background-color','red');
},function(){
$(this).css('margin-left','0px');
$(this).css('color','black');
$(this).css('background-color','white');
}
);
你可以通过纯 css 轻松实现这一点(不需要 jquery 或 javascript)在这里,我提供了一个解决方案,在您的代码中进行了一些修改 检查下面的代码或检查这个小提琴http://jsfiddle.net/sarfarazdesigner/sGfxV/19/
CSS代码
ul {
list-style-type: none;
}
li {
margin-bottom:5px;
width:100px;
}
ul li a{
text-decoration:none;
color:black;
display:block;
padding:0 0 0 10px;
}
.menu li a:hover{ color:#fff; background:red;}
网页代码
<div style='padding:10px;border:2px solid red'>
<ul class="menu">
<li><a href='#' id='list'>List</a></li>
<li><a href='#' id='groups'>Groups</a></li>
<li><a href='#' id='profile'>Profile</a></li>
<li><a href='#' id='invitations'>Invitations</a></li>
</ul>
<h5 style='color: white'>PROJECTS</h5>
<ul class="menu">
<li><a href='#' id='summary'>Summary</a></li>
<li><a href='#' id='track'>Track</a></li>
<li><a href='#' id='manage'>Manage</a></li>
<li><a href='#' id='export'>Export</a></li>
</ul>
<h5 style='color: white'>ANALYSIS</h5>
<ul class="menu">
<li id='lanalyse'><a href='#' id='analyse'>Analyse</a></li>
<li id='lviewall'><a href='#' id='viewall'>ViewAll</a></li>
<li id='lexport'><a href='#' id='export'>Export</a></li>
</ul>
<h5 style='color: white'>SETTINGS</h5>
<ul class="menu">
<li><a href='#' id='users'>Users</a></li>
<li><a href='#' id='archive'>Archive</a></li>
<li><a href='#' id='system'>System</a></li>
<li><a href='#' id='myprofile'>My Profile</a></li>
</ul>
</div>
相关文章:
- Redux处理新项目和id
- 如何在使用$(“#id”).off()后启用事件处理程序;
- 通过Couchdb中的更新处理程序添加id和author字段
- Jquery处理ID中的特殊字符
- 可以't将事件处理程序添加到ID为的按钮中
- 将文本框中用逗号分隔的员工ID拆分为数组,然后处理这些字符串
- 如何在 javascript 中处理具有动态 ID 的事件
- 在不同的对象上应用相同的 id 并分别对它们进行动画处理 (jQuery)
- 在jQuery点击处理程序中获取选择器父ID
- 在 jquery 中处理多个 ID
- 处理重复表单字段集 (regex) 中数组 ID 的递增数
- Jquery不处理带有ID选择器的匿名函数调用
- CouchDB更新处理程序:文档id不能为空
- 使用数据表处理列ID
- 将元素ID传递到数组中以进行POST表单处理
- 在发送到客户端之前,是否应该对表的Id列进行加密/哈希处理
- 使用数字id javascript处理html输入元素
- 如何使用不同的选择器 ID 多次处理事件
- 如何用类选择器覆盖id选择器的jQuery事件处理程序
- 西西弗能处理ID显示的页面吗