HTML / DOM:选择多个类中的特定类

时间:2015-12-06 21:53:01

标签: jquery html dom

我有这个私人作业。我想重新实现getElementsByClassName()。我正在使用jQuery-append来添加带有1个类或几个类的段落标记。

我的问题: 我正在使用className或getAttribute来查看它是否有类。如果是这样,只要它包含“targetHello”类,就将该段落元素推送到数组中。尝试在不使用RegExp的情况下执行此操作。

例如,

class="hello1 targetHello hello3"

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以使用split并查看length这样的内容。

function hasClassName(classNames, className) {
    return classNames.split(className).length > 1;
}

var classNames = "hello1 targetHello hello3";

hasClassName(classNames, 'targetHello');

如果classNames.split(className).length1,则该类不存在。如果它大于1则存在。

答案 1 :(得分:-1)

使用该功能,您可能会得到误报。例如,如果属性类的值为“hello1targetHellohello3”,则它将返回true,并且此值不包含您要查找的类。您应该识别出孤立词,记住这些类是由空格分隔的单词。例如:

function hasClassName(classNames, className) {
    return classNames.split(' ').indexOf(className) >= 0;
}

var classValue = 'hello1 targetHello hello3';

hasClassName(classValue, 'targetHello');

无论如何,我认为我误解了一些东西......你正在使用jQuery来追加内容,我不明白你为什么不使用它来获取你想要的类的元素。我想这是一种练习或者其他什么,对吗?