如何使用jquery获取已分配多个类名的html元素的类名属性之一
How to use jquery to get one of the class name attribute of an html element which has multiple class names assigned
例如:
<div class="home current">home</div>
当我使用$(this).attr("class")
时,它只是返回"homecurrent"。我只想获得"home"属性。我怎样才能做到这一点?
如果您知道类名并想检查元素是否有它,可以使用.hasClass()
// will return true if the element has that class applied to it
$(elem).hasClass('home');
另一方面,如果您希望每个类分别应用于一个元素,则可以按空间拆分并迭代:
var classes = $(elem).attr('class').split(' ');
for(var i=0; i<classes.length; i++) {
classes[i]; // each class name
}
class
属性返回分配给元素的css类的以空格分隔的列表,要将其转换为数组,请使用字符串上的split
方法,要检索第一个,请使用[0]索引器,如:
var firstClass = $(this).attr('class').split(' ')[0]
var allClass= $(this).attr("class");
var class = allClass.replace("current", "");
如果您只有"current"作为一个附加类
,这将起作用是否有特定的原因需要提取类列表。如果你知道你要找的类,只需要检查对象是否有类的主页,你可以这样做:
$(this).hasClass("home");
否则,您可以将结果拆分,然后检查您需要的任何类。
var classAttr = $(this).attr("class");
var classes = classAttr.split(" ");
似乎需要元素的主类。
var primaryClass= $(this).attr('class').split(' ')[0].
请记住,如果没有应用类,这一行可能会导致异常,而您使用它的时间。
相关文章:
- 获取HTML属性中CSS声明的值
- 如何在只接受字符串值/文字的HTML属性中调用函数
- 如何为HTML属性/选择器创建全局名称空间或变量
- 在javascript函数调用中传递的HTML属性不完整
- 如何访问自定义 HTML 属性
- AngularJS将变量绑定到自定义html属性
- 如何将 html 属性值添加到 javascript 变量中
- 为什么我不能在变量上使用内部HTML属性
- 如何将 JSON 值追加到 HTML 属性
- 使用正则表达式删除所有 html 属性(替换)
- 如何在对象中存储html属性
- 尝试更改HTML属性时出现奇怪的get请求
- 奇怪的html属性,我无法理解
- 对HTML属性进行Regex多重匹配
- JsTree从未渲染的节点获取html属性
- 基于html属性的动态jquery选择器
- jQuery未读取正确的HTML属性值
- 如何让ReactJS呈现空的HTML属性
- 将2创建的元素合并到html属性中
- 确定html属性键和值的角度指令