Javascript 获取所选项目的类属性
在下面的HTML中,当我单击任何列表项时,我想向其中添加一个类Javascript 获取所选项目的类属性,javascript,jquery,html,Javascript,Jquery,Html,在下面的HTML中,当我单击任何列表项时,我想向其中添加一个类.active。 之后,当我点击链接时,我想得到li的类(不包括.active) 例如,通过单击第一个li,它应该向其中添加.active类,通过单击链接,它应该获得类one 我可以将类添加到其中,但无法通过单击链接获取附加的类值 HTML: <ul> <li class="one">One</li> <li class="two">Two</li>
.active
。
之后,当我点击链接时,我想得到li的类(不包括.active)
例如,通过单击第一个li,它应该向其中添加.active
类,通过单击链接,它应该获得类one
我可以将类添加到其中,但无法通过单击链接获取附加的类值
HTML:
<ul>
<li class="one">One</li>
<li class="two">Two</li>
<li class="three">Three</li>
</ul>
<a href="#" class="select">Check Selected </a>
$(document).on('click','ul li',function(e){
$('ul li').removeClass('active');
$(this).addClass("active");
});
$(document).on('click','.select',function(e){
var abc = $('ul li.active').attr('class');
alert('Selected li class is ' + abc);
});
演示:
谢谢您的帮助。使用.split()
在这里,我用空格分割字符串,然后用[0]
返回第一个索引值,试试这个
<ul>
<li class="one">One</li>
<li class="two">Two</li>
<li class="three">Three</li>
</ul>
<a href="#" class="select">Check Selected </a>
$('ul').on('click','li',function(){
// in case of if some li element has the active class, left quit
$('li .active').removeClass('active')
$(this).addClass("active');
})
$('.select').click(function(){
alert("You've click" + $('.active').text())
})
一个
两个
三个
$('ul')。在('click','li',函数()上{
//如果某个li元素具有活动类,请左键退出
$('li.active').removeClass('active'))
$(this.addClass(“活动”);
})
$('.select')。单击(函数(){
警报(“您已单击“+$('.active').text())
})
为什么不将类保存到变量中
$(document).on('click','ul li',function(e){
var thisClass = $(this).attr('class');
$('ul li').removeClass('active');
$(this).addClass("active");
});
您可以这样做:
$(document).on('click', '.select', function (e) {
var abc = $('ul li.active').attr('class').replace('active', '');
alert('Selected li class is ' + abc);
});
演示:
$('ul li.active').attr('class')
将返回一个包含所有类的字符串,如one active
或two active
。我们现在只需使用从中删除此active
字符串,但当我们多次单击li时会发生什么?
$(document).on('click', '.select', function (e) {
var abc = $('ul li.active').attr('class').replace('active', '');
alert('Selected li class is ' + abc);
});