0

有谁知道如何选择元素的特定类。我有一个在 html 中创建的元素。该元素有两个类“n”和“s1”,例如:

{<td class="n" class="s1" id=""><img src="gfx/football.png" /></td>}

然后在 jquery 中创建另一个元素(它只是一个 div)。我想要做的是:当点击上面的元素(td)时,我想将相同的类(类 s1)添加到我的新<div>. 我只需要这两个具有相同类的元素。

我正在使用的代码如下所示:

myDIVishere.addClass($(this).attr('class')

这一行向我的新 div 添加了一个类,但正如您在上面看到的我的 $(this) --><td>有两个类。如何告诉程序我要添加第二类 (class="s1") 而不是第一类。我差点忘了。我有 50 个<td>元素,所以我不能使用类名。

4

2 回答 2

1

首先,您必须修复您的标记。

我在 Opera 和 Chrome 中测试过,class="foo" class="bar"但无效。

应该是class="foo bar"

考虑到这一点,您可以通过以下方式获得第二类:

var el = $('<a />', { class: 'foo bar' });
var classes = el.attr('class').split(' ');
var secondClass = classes[1];

在添加到另一个元素之前,请务必检查 secondClass 是否未定义,因为这可能会导致意外结果。

于 2013-02-27T18:09:19.887 回答
0

当您使用该属性信息来标识一个元素时,您确实应该使用一个 ID,这样它是唯一的。

如果你不能/不会将它存储在 ID 属性中,而是存储s1在一个类中,给它一个单独且可识别的属性......所以你可以这样抓住它:

var specialValue = $('.myElement').attr('special-attribute');
$('.someOtherElement').addClass( specialValue );

但在那里,使用addClass也会浪费能源。您可以从字面上继续使用属性。

于 2013-02-27T17:46:58.023 回答