Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Поиск по началу названия id (https://javascript.ru/forum/misc/23302-poisk-po-nachalu-nazvaniya-id.html)

faforty 19.11.2011 18:11

Поиск по началу названия id
 
Всем привет, вот у меня вопрос как найти id тега, по началу названия?
Пример:
<div id="cola_fanta"></div>
<div id="cola_pepsi"></div>

вот мне надо найти все теги с началом названия cola, как это сделать? Думаю нормально объяснил....:)

Gvozd 19.11.2011 18:21

перебрать все теги , с помощью document.getElementsByTagName('*'), и выбрать с помощью строковых функций подходящие вам

ksa 19.11.2011 18:32

Цитата:

Сообщение от faforty
вот мне надо найти все теги с началом названия cola, как это сделать?

Вариант на жиКвери...

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(document).ready(function(){
	$('[id^="cola"]').each(function(){
		alert(this.id)
	});
});
</script>
</head>
<body>
<div id="fanta"></div>
<div id="colatmp"></div>
<div id="cola_fanta"></div>
<div id="cola_pepsi"></div>
<div id="pepsi"></div>
</body>
</html>

faforty 20.11.2011 06:10

Спасибо))

ваый 20.11.2011 11:28

Неправильный подход - как следствие такие странные проблемы. Вот как нужно делать:
<div id="cola_fanta" *!*class="cola"*/!*></div>
<div id="cola_pepsi" class="cola"></div>
И искать элементы с классом cola.

ksa 20.11.2011 14:51

Цитата:

Сообщение от ваый
Вот как нужно делать

"Масло масляное" так же не всегда является хорошим подходом... ;) Это я к тому, что нет смысла дублировать информацию.

ваый 20.11.2011 15:15

Цитата:

Сообщение от ksa (Сообщение 137785)
"Масло масляное" так же не всегда является хорошим подходом... ;) Это я к тому, что нет смысла дублировать информацию.

Не согласен. В данном случае сам смысл понятия "класс" указывает на то, что нужно использовать классы, а не id. Это же очевидно. Группа фунционально и семантически подобных элементов.

К тому же, скорее всего этим блокам еще даются какие-то стили, и как это выглядит в CSS, если на блоках нету классов? Стили навешиваются на id? А если надо добавить еще парочку блоков, опять менять css файл? Короче, для меня очевидно, что автор топика избрал (по неопытности) неверный подход.

ksa 20.11.2011 15:17

ваый, ИД уже есть у автора. Зачем ему еще и класс? :)

Цитата:

Сообщение от ваый
К тому же, скорее всего этим блокам еще даются какие-то стили, и как это выглядит в CSS, если на блоках нету классов? Стили навешиваются на id?

Почём мне знать что там у него и как? :) У нас есть его пример с ИД и более ничего... Всё остальное твои фантазии... ;)

ваый 20.11.2011 16:09

Цитата:

Сообщение от ksa
Всё остальное твои фантазии...

Ну да, я додумываю, возможные варианты, ясное дело. Что там у него - не ясно. Ясно только, что некачественный код, некрасивая структура. Твое решение работает, и замечательно, мне-то что, я высказал свое мнение, да и все, может, пригодится..


Часовой пояс GMT +3, время: 02:37.