JS新手需要Jquery的帮助
我正在尝试编写jquery函数,但我对jquery是全新的。这是我的一个非常简单的函数,我想清除所有指向未选中类的链接,但选中的链接除外:JS新手需要Jquery的帮助,jquery,Jquery,我正在尝试编写jquery函数,但我对jquery是全新的。这是我的一个非常简单的函数,我想清除所有指向未选中类的链接,但选中的链接除外: $(function() { $('li a').click(function() { $('li a').addClass('unselected'); $(this).addClass('selected'); }); }); 我该怎么做?然后,如何取消选择除具有特定名称属性之外的所有名称?以下
$(function()
{
$('li a').click(function()
{
$('li a').addClass('unselected');
$(this).addClass('selected');
});
});
我该怎么做?然后,如何取消选择除具有特定名称属性之外的所有名称?以下是一个链接示例:
<li><a id="106" name="wavelength" href="#">10.6 µ</a></li>... set of links
。。。链接集
和另一组链接
<li><a id="10watt" name="power" href="#">10 watt</a></li>....
。。。。
如果您想以具有特定名称的链接为目标,可能的选择器之一是[name='somenamehere']在本例中,这就足够了:
$a.filter(“[name='somenamehere']”)
(您可能希望以不同的方式实现属性选择器,具体取决于您要执行的操作)
此外,如果您取消“未选择”类,这可能是一个好主意。我想你是用它来做造型的。如果是,请为所有链接指定样式,然后在其原始样式的基础上指定选定链接的样式:
.menu a, .menu a:visited {
color: #FF0000;
text-decoration: none;
}
.menu a.selected {
font-weight: bold;
}
你就快到了……:)试试这个:
$(function()
{
$('li a').click(function()
{
$("li a[name!='wavelength']").addClass('unselected');
$(this).removeClass('unselected');
$(this).addClass('selected');
});
});
针对您对其他答案之一(现已删除)的评论: 这些LIA标记分为五列。如何仅取消选择列中的项,而保留其他项处于选中状态?我用带有名称属性的链接对它们进行了标记 您可以根据
中包含的链接对它们进行分组
您可以使用jQuery搜索,然后在其中:
// best practice says you should cache the result of this search
// so you don't need to find it again
var $links = $('li a');
// attach a click function to the links
$links.click(function() {
// again cache it... we will use it more than once.
var $this = $(this);
// remove selected from everything - add unselected
$this.closest('ul').find('li a').removeClass('selected').addClass('unselected');
// remove unselected from this link and add selected
$this.removeClass('unselected').addClass('selected');
});
既然您说过链接组共享一个名称
属性,那么请看下面的代码:
var $links = $('li a');
$links.click(function() {
// store ourself as a jquery object, and get our name:
var $this = $(this), myname = $this.attr('name');
// filter $links to obtain the ones that share myname:
$links.filter(function() {
// we can use the DOM element "this.name" instead of $(this).attr('name')
// to save some time here:
return this.name == myname;
}).removeClass('selected').addClass('unselected');
$this.removeClass('unselected').addClass('selected');
});
要查找具有特定名称属性的名称,请查看如下所示的:
$('li a[name=wavelength]');
谢谢,赛博伙伴。我如何概括这一点,这样我就可以一列一列地在每一列中只选择一项了?嘿,舒梅尔,我不明白一列一列是什么意思。你能详细说明一下吗?横排有五列。用户从第1列和第2列中选择一个项目,依此类推。但格纳夫的回答让我找到了我想要的地方。谢谢你这么乐意帮忙。这对我来说是一个全新的领域,所以我不知道我在做什么。我讨厌别人为我写代码,但在我看到代码之前我无法学习,对吗?无论如何,谢谢。
$('li a[name=wavelength]');