获得课程的要点

时间:2013-04-29 14:01:58

标签: javascript jquery

我有一个带有id和类的跨度:

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

我想获取id和类并将它们放在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对象会给出“undefined”,因为我需要这样的点:

 #foobar.foo.bar.baz

如何在那里获得这些点?

Example at JsFiddle

7 个答案:

答案 0 :(得分:3)

你想从

开始
foo bar baz

foo.bar.baz

所以不要用空格替换空格(基本上删除它们),而是用点替换它:

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


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

答案 1 :(得分:1)

我希望输出为

#foobar.foo bar baz

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

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

sd3.replace(/\s/g,".")

答案 2 :(得分:1)

你需要一个点,如下:

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

答案 3 :(得分:1)

更改

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

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

班级列表中有空格,你要删除它们。

答案 4 :(得分:1)

试试这个:

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

$('span').text('#' + sd2 + '.' + sd3);
// Result = #foobar.foo.bar.baz

答案 5 :(得分:1)

您可以像.一样替换空格:

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

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

答案 6 :(得分:1)

添加

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

然后使用sd3。 DEMO