-1

我有一个元素,如下所示:

 <tr id="test1" class="class-of-part1">
 <td>...</td>
 </tr>

我必须选择 id 为“test1”的元素和以“class-of”开头的类。如何使用 jquery 选择器进行选择?

4

6 回答 6

6

使用以选择器开头的属性 ( [name^="value"])

$("#test1[class^='class-of-']")

虽然 id应该是唯一的。

演示

于 2012-08-31T11:32:09.317 回答
2

$('#test1')<按ID

$('.class-of-part1')

$('input[class^="startofclassname"]')<类似的东西

^任何类名以“startofclassname”开头的输入

更多信息:http ://api.jquery.com/category/selectors/

也许尝试一些谷歌搜索,看看我发现了什么:http: //api.jquery.com/attribute-starts-with-selector/

给你

于 2012-08-31T11:30:26.540 回答
2

你试过什么?你用谷歌搜索过吗?

选择标识

$('#test1')

并选择一个以字符串开头的类

$('[class^="class-of-part"]')

尽管选择前缀仅适用于属性,但在这种情况下,如果您使用多个类,则将不起作用。

http://api.jquery.com/category/selectors/

于 2012-08-31T11:32:42.137 回答
0
$('tr#test1[class^="class-of"]')

trid = "test1"开始class"class-of"

于 2012-08-31T11:32:47.667 回答
0

以下所有方法都将起作用:

$('#test1[class^="class-of"]');

$('#test1').filter('[class^="class-of"]');

虽然在按 ID 选择时(总是唯一的),但不需要类。

$('#test1');
于 2012-08-31T11:33:09.657 回答
0

这可能不是answerOP 正在寻找的,但我认为我应该在这里注入一些基础知识。

通读评论和答案,让我想起了我学习 jquery 的那一天 :)

我们都面临的基础问题是“我们迫切需要为每个该死的元素分配 ID”。为什么?

1) 使用直接 ID 更容易选择元素 2) 我们懒得思考如何将事件侦听器添加到动态生成的元素中。3) 将所有内容都写在.ready()函数中使它看起来很安全。:p

我的认识,1)你不需要所有的ID。

至于OP。他想选择类名以“class-of”开头的 TR。

OP 还指定所有元素都是动态生成的。因此,我建议将事件绑定到类名以“class-of”开头的那些 TR,在我们创建它们的同时。这将避免大量返工及其系统化方法。

我个人的意见是,将你的元素添加到 DOM “现成的” 我所说的“现成的”是指你不应该将事件绑定到它们,或者添加额外的属性,或者实际上,以任何方式操纵它们。您应该在将它们插入 DOM 之前处理它。提高性能,提高您的编码技能,使其更难amateurs理解,因此您保持依赖:p lol

于 2012-08-31T11:51:10.677 回答