.attr('class') 返回多个类名,如何选择我想要使用的类名
.attr('class') returns multiple class names, how to select the one I want to use?
当我使用 jQuery .attr('class') 时,我得到了 'class1 class2 class3',它们应该是单独的类,我如何选择其中一个类,例如我想更改 class1 上的.css,我将如何遍历返回的类名,这些是我必须拆分的字符串,还是这些对象?谢谢!
顺便说一句,我的 html 看起来像这样:
<td class ="class1 class2 class3">
我通过在返回的 .attr('class') 上使用 .spilt 来让它工作。我的目标是获得第二堂课,并对其进行一些.css()。
class
或 className
属性在单个字符串中返回以空格分隔的类名列表。 如果要手动操作该属性,则必须自己手动将字符串解析为其生成的类名。 它是一个字符串,而不是单个对象。
现在,幸运的是,当你使用jQuery时,你很少需要自己做。 如果要添加、删除或更改单个类名,可以使用这些 jQuery 方法的某种组合,这些方法将为您完成所有解析:
.hasClass(classname)
.replaceClass(oldName, newName)
.removeClass(classname)
.addClass(classname)
要删除一个类并添加一个单独的类,像这样将两个函数链接在一起并不少见。
x$.removeClass("foo").addClass("bar");
如果你真的只想在选择器中使用类名,那么你根本不用担心对象上有多少其他类名,因为 jQuery 内置的选择器库将为你处理所有这些。 例如:
$(".myClassName").css("color", "red");
将查找在 className 属性中任意位置具有myClassName
的所有对象,并将指定的 CSS 应用于这些对象。
您可以使用jquery类方法(addClass,removeClass,hasClass,toggleClass)来操作类
使用类选择器并让 jQuery 为您完成工作:
$('td.class1').css();
Javascript
$(document).ready(function() {
alert('Class 1 = ' + $('#test').attr("class").split(" ")[0]);
alert('Class 2 = ' + $('#test').attr("class").split(" ")[1]);
alert('Class 3 = ' + $('#test').attr("class").split(" ")[2]);
})
目录
<div id="test" class="class1 class2 class3"></div>
实时脚本:http://jsfiddle.net/7ZDP4/
$('td.class1').css('background','red');
$('td.class2').css('background','blue');
编辑,给定一个对象,您还可以使用:
if ( $(this).hasClass('class1') ){ /* do this */ } else { }
我发现最简单的方法是将 attr"href"用作单独的实体,而不是使用类。
<td class="class1 class2" href="WhatYouWantToGrab" ></td>
然后在jQuery中,你只会这样做
$('.class1.class2').click(function() {
var yourVariable = $(this).attr('href');
});
希望这有帮助。
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 从动态创建的html选择中选择所选选项
- Angular:使用选择列表选择过滤代码中的对象
- 在第二次选择中选择2更改属性
- 在v-for中选择中选择框的第一个选项
- Angularjs选择以选择数据传递
- 如何根据下拉选择来选择数组的第一列
- 显示基于上一个se的选择的选择选项;选择
- 如何基于另一个已经存在的选择器选择元素
- Angularjs 通过选择不同选择框中的两个字段来填充选择框
- 为动态选择框选择更新功能
- 根据以前的选择显示选择选项
- 多个<选择>使用选择,选项删除(已选择)
- 通过在d3中单击来选择/取消选择
- 剑道日期选择器选择日期应从年开始
- 复选框选择/取消选择触发器第一次工作,但在随后的尝试中失败
- 为什么要使用链式选择禁用选择选项
- 删除基于先前下拉列表选择的“选择下拉列表”选项
- 根据Dropdown 1的选择以及选择子选项时如何迭代填充Dropdown 2
- 选择所有选择框(Javascript)