2015-10-09 5 views
4

У меня есть два рода <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> 

Ok ну, теперь я хочу знать, как я могу выбрать все post kind textarea? Это:

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

вы пробовали? –

+0

@SheraliTurdiyev на самом деле я просто могу выбрать все текстовое поле, как это: '$ ('textarea')', или конкретный идентификатор вроде этого: '$ ('# textareaid')'. – Shafizadeh

+3

Если вы даете 'textarea-post- {id}' класс 'textarea-post' и' textarea-cmnt- {id} 'класс' textarea-cmnt', вы можете использовать '$ (". Textarea-post ") ' – Halcyon

ответ

6

Вы можете использовать селектор CSS с querySelectorAll как это:

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

Оператор ^= будет выглядеть для каждого элемента с идентификатором, начиная с textarea-post.

JQuery версия:

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

Спасибо, + 1upvote для вас. – Shafizadeh

1

Это то, что вы ищете $('[id^="textarea-post-"]'). Начинается с селектора ^= - это правильный подход для вашего дела.

+0

Спасибо, + 1upvote для вас. – Shafizadeh

+0

Добро пожаловать! –

0

Его очень легко CSS с помощью [attribute $ = value] Selector будет делать трюк.

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

Я говорю о js (или jquery), а не css – Shafizadeh

3

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>

+0

Спасибо, + 1upvote для вас. – Shafizadeh

2

Это howw вы выбираете все текстовое поле с 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>

+0

Спасибо, + 1upvote для вас. – Shafizadeh

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

Это позволит получить все textarea-post- затем itterate через каждый из них и получить значение $(this).val();

+0

Спасибо, + 1upvote для вас. – Shafizadeh

3

Проверьте это.

$('textarea[id^="textarea-post"]').click(function(){ 
 
    $(this).css('background-color', 'green'); 
 
});
textarea[id^="textarea-post"]{ 
 
\t \t background-color:red; 
 
\t }
<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>

+1

Спасибо, + 1upvote для вас. – Shafizadeh

0

вы можете использовать JQuery библиотеки, и использовать его функции Jquery library link here

$(‘p:nth-child(3)) \t 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>

Вместо р использования текстового поля

Смежные вопросы