如何select某种元素?

How to select some kind of elements?

我有两种<textarea>:

1) 帖子:id="textarea-post-{id}"

2) 评论:id="textarea-cmnt-{id}"

例如,这里是页面中的所有 textarea

<textarea id="textarea-post-1"></textarea>
<textarea id="textarea-cmnt-1"></textarea>
<textarea id="textarea-cmnt-2"></textarea>
<textarea id="textarea-cmnt-3"></textarea>
<textarea id="textarea-post-2"></textarea>
<textarea id="textarea-cmnt-4"></textarea>
<textarea id="textarea-cmnt-5"></textarea>
<textarea id="textarea-post-3"></textarea>
<textarea id="textarea-cmnt-6"></textarea>

好吧,现在我想知道,我怎样才能 select 所有 post kind textarea ? 这些:

<textarea id="textarea-post-1"></textarea>
<textarea id="textarea-post-2"></textarea>
<textarea id="textarea-post-3"></textarea>

您可以像这样将 css 选择器与 querySelectorAll 一起使用:

document.querySelectorAll('[id^="textarea-post"]');

^= 运算符将查找 ID 以 textarea-post 开头的每个元素。

jQuery版本:

$('[id^="textarea-post"]');

这就是您要查找的内容 $('[id^="textarea-post-"]')。 从选择器 ^= 开始是适合您的情况的正确方法。

CSS 使用 [attribute$=value] 选择器非常简单。

textarea[id$="post"]{
 color:red
}
textarea[id$="cmnt"]{
 color:blue
}

console.log($('textarea[id*=post]'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<textarea id="textarea-post-1"></textarea>
<textarea id="textarea-cmnt-1"></textarea>
<textarea id="textarea-cmnt-2"></textarea>
<textarea id="textarea-cmnt-3"></textarea>
<textarea id="textarea-post-2"></textarea>
<textarea id="textarea-cmnt-4"></textarea>
<textarea id="textarea-cmnt-5"></textarea>
<textarea id="textarea-post-3"></textarea>
<textarea id="textarea-cmnt-6"></textarea>

这就是 select 所有具有 id 值且以 textarea-post-:

开头的文本区域
$("textarea[id^='textarea-post-']")

同样,

$("textarea[id^='textarea-cmnt-']")

工作示例:

console.log($("textarea[id^='textarea-post-']"));  // outputs all textarea with `id` value starting with `textarea-post-`.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<textarea id="textarea-post-1"></textarea>
<textarea id="textarea-cmnt-1"></textarea>
<textarea id="textarea-cmnt-2"></textarea>
<textarea id="textarea-cmnt-3"></textarea>
<textarea id="textarea-post-2"></textarea>
<textarea id="textarea-cmnt-4"></textarea>
<textarea id="textarea-cmnt-5"></textarea>
<textarea id="textarea-post-3"></textarea>
<textarea id="textarea-cmnt-6"></textarea>

$('[id^="textarea-post-"]').each(function () {
  $(this).val();
});

这将获取所有 textarea-post- 然后遍历每个并获取值 $(this).val();

检查这个。

$('textarea[id^="textarea-post"]').click(function(){
  $(this).css('background-color', 'green');
});
textarea[id^="textarea-post"]{
  background-color:red;
 }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="textarea-post-1"></textarea>
<textarea id="textarea-cmnt-1"></textarea>
<textarea id="textarea-cmnt-2"></textarea>
<textarea id="textarea-cmnt-3"></textarea>
<textarea id="textarea-post-2"></textarea>
<textarea id="textarea-cmnt-4"></textarea>
<textarea id="textarea-cmnt-5"></textarea>
<textarea id="textarea-post-3"></textarea>
<textarea id="textarea-cmnt-6"></textarea>

你可以使用jquery库并使用它的功能 Jquery library link here

$(‘p:nth-child(3)) gets the 3rd <p> element of the parent. n=even, odd too.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>

使用 textarea 代替 p