-1

我有一个 id 和这样的类的跨度:

<span id="foobar" class="foo bar baz"></span>

我想获取 id 和 classes 并将它们放在 Jquery 对象中:

var sd2 = $('span').attr('id');
var sd3 = $('span').attr('class');


$('span').text('#' + sd2 + '.' + sd3);

$('span').text(function (i, text) {
    return text.replace(/ /g, '');
});

这是一个好的开始,但问题是输出是这样的:

#foobar.foobarbaz

Jquery 对象将给出“未定义”,因为我需要像这样的点:

 #foobar.foo.bar.baz

我怎样才能让那些点在那里?

JsFiddle 的示例

4

7 回答 7

3

你想从

foo bar baz

foo.bar.baz

因此,不要用任何东西替换空格(基本上是删除它们),而是用一个点替换它:

var sd2 = $('span').attr('id');
var sd3 = $('span').attr('class').replace(/ /g, '.');


$('span').text('#' + sd2 + '.' + sd3);
于 2013-04-29T14:04:34.743 回答
1

我希望输出是

#foobar.foo bar baz

并且不是没有空格,因为类是用空格字符分隔的。

你可以做一个简单的替换来获得 .

sd3.replace(/\s/g,".")
于 2013-04-29T14:04:44.317 回答
1

你需要一个点,像这样:

$('span').text(function (i, text) {
    return text.replace(/ /g, '.');
});
于 2013-04-29T14:04:44.590 回答
1

改变

$('span').text(function (i, text) {
    return text.replace(/ /g, '');
});

$('span').text(function (i, text) {
    return text.replace(/ /g, '.');
});

班级列表中有空格,您正在删除它们。

于 2013-04-29T14:05:23.823 回答
1

尝试这个:

var sd3 = $('span').attr('class').split(" ").join(".");
// Result = foo.bar.baz

$('span').text('#' + sd2 + '.' + sd3);
// Result = #foobar.foo.bar.baz
于 2013-04-29T14:05:33.737 回答
1

您可以像这样替换空格.

$('span').attr('class').replace(/ /g,'.');

小提琴:http: //jsfiddle.net/8JWhr/2/

于 2013-04-29T14:05:53.823 回答
1

只需添加

sd3 = sd3.split(" ").join(".") ;

然后使用 sd3。演示

于 2013-04-29T14:07:34.740 回答