jQuery: selector (classname with space)

2019-01-16 07:30发布

I'm trying to get a div which has "panel current" as classname. The problem is the space - how can I select it?

4条回答
一夜七次
2楼-- · 2019-01-16 07:43

The div has two class names:

  • panel
  • current

You can use $("div.panel") or $("div.current") to select it.

查看更多
女痞
3楼-- · 2019-01-16 07:45

Class names can't have spaces in them. What you have there is two classes:

<div class="panel current">

This div has two classes: panel and current. That's easily selected:

$("div.panel.current")...

That means select all divs that have class panel and class current.

查看更多
戒情不戒烟
4楼-- · 2019-01-16 07:55

panel current is not a class name, actually it is two class names. You could use the following selector:

$('.panel.current')
查看更多
Bombasti
5楼-- · 2019-01-16 08:05
$('div').filter(function() {
    return this.className == 'panel current';
});

OR

$("div[class='panel current']");

Use this if you need to match an element with an exact match of class names (including spaces)

The other posters are right, the DiV you posted has two class names: 'panel' and 'current'; If you want to select them both, use $('.panel.current').

This will also include elements like:

<div class="foo panel bar current"></div>
查看更多
登录 后发表回答