如何获得相应的类名;从JQuery中的常见类名?

时间:2015-07-01 12:50:49

标签: jquery

如何在Jquery中的其他类名右边提到的类名?

<div class="pure-u-1 pure-u-md-1-5 showOnload phoneId">
</div> /// It contains two classes of Pure and two custom classes.
</div>
<div class="pure-u-1 pure-u-md-1-5 showOnload addressId">
</div>
</div>
<div class="pure-u-1 pure-u-md-1-5 showOnload nameId">
</div>
</div>

在showOnload的基础上我想获得类名phoneId,addressId和nameId(不是纯css类)。 可能的JQuery代码可能是

$('.showOnload').each(function() {
    //this.classname on right i.e Phone Id, Address Id and name Id    
});

更新:正如伙伴们问我想要实现的是:如果div有showOnload,那么我必须扩展div(显示/隐藏),其中id = phoneId或addressId。

3 个答案:

答案 0 :(得分:2)

你可以试试像

这样的简单正则表达式
$('.showOnload').each(function () {
    var clazz = this.className.match(/\w+Id\b/)[0]
});

基于更新

&#13;
&#13;
$('.showOnload').click(function() {
  var match = this.className.match(/\w+Id\b/);
  if (match) {
    $('#' + match[0]).toggle();
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="pure-u-1 pure-u-md-1-5 showOnload phoneId">phoneId</div>
<div class="pure-u-1 pure-u-md-1-5 showOnload addressId">addressId</div>
<div class="pure-u-1 pure-u-md-1-5 showOnload nameId">nameId</div>
<hr />
<div id="phoneId">phoneId</div>
<div id="addressId">addressId</div>
<div id="nameId">nameId</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以使用hasClass(),如下所示:

$('.showOnload').each(function() {
    if ($(this).hasClass('phoneId')) { // Check if having class phoneId
        alert('It has class phoneId');
    }
});

您还可以使用regexindexOf(),如下所示:

$('.showOnload').each(function() {
    var classes = $(this).attr('class').split(/\s+/); // Split by spaces
    if (classes.indexOf('phoneId') > -1) {
        alert('It has class phoneId');
    }
});

修改

使用attribute selector限制匹配元素。

$('div[class$="Id"]').each(function() {
    if ($(this).hasClass('phoneId')) { // Check if having class phoneId
        alert('It has class phoneId');
    }
});

<强>更新

  

如果div有showOnload,那么我必须使用id = phoneId或addressId展开div(显示/隐藏)。

$('div.showOnload[class$="Id"]').toggle();

答案 2 :(得分:0)

使用其中之一,

$('.showOnload.phoneId').each(function() {
    get all phone id
});

或者

$('.showOnload').each(function() {
    if ($(this).hasClass("phoneId")) {
    }
});