| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: для новичков > Проблема с обработкой одинаковых элементов |
| Автор: beglec 27.4.2008, 09:01 |
| Доброе время суток. в тексте есть множество. <span id="Rate1"></span> <span id="Rate1"></span> <span id="Rate1"></span> <span id="Rate2"></span> <span id="Rate2"></span> <span id="Rate1"></span> <span id="Rate1"></span> <span id="Rate2"></span> Как сделать чтобы при помощи Javascript, все Rate1 заменились на одно значение, а Rate2 на второе значение и т.д. заранее благодарен. document.all("Rate1").length почему ничего не показывает :( Исправляет только первый элемент. |
| Автор: Fortop 27.4.2008, 14:39 |
| ID должен быть уникальным для всего документа. и никак иначе |
| Автор: bars80080 28.4.2008, 10:37 | ||
ну вот так:
у меня вопрос в продожение, почему если я вставляю свой атрибут (скажем <span sa="Rate1"></span>), то он нормально схватывается в ИЕ6, но не хочет в ФФ и опере? |
| Автор: bars80080 28.4.2008, 12:35 |
| интересная статейка, непонятно только почему разработчики w3c стали городить эту лажу с различием атрибутов и свойств. какие у них принципиальные отличия? почему было не приравнять их, и прописать официальное название всем свойствам. (типа .value - это значение в текстовом поле, а .Value - это вводимое пользователем свойство/атрибут) |
| Автор: SelenIT 28.4.2008, 12:41 |
Ну как же. Атрибут - фактически часть разметки (поэтому и значением может быть только строка, и регистронезависимость в HTML). А свойство - это как обычно в JS, можно навесить практически что угодно (объект любого типа) на что угодно, независимо от того, имеет это какое-либо отношение к разметке или нет... |
| Автор: bars80080 28.4.2008, 12:45 |
| всё равно не вижу различия, особенно, если мы стремимся свести html к xml точнее зачем было вводить это различие, теперь возникает куча неудобств с использованием доп.функций getAttribute setAttribute, вместо простой точки и знака равно |
| Автор: SelenIT 28.4.2008, 12:53 | ||
bars80080, ну а как сериализовать в атрибут сложный самописный объект (ну или даже какой-нибудь Date с расширенным прототипом)? Через встроенный toString()? Ох, куча инфы потеряется... К тому же, даже в XML типы не полностью совпадают с JS-ными.
Так эти вещи не отменяют и не всегда заменяют друг друга. Скажем, при динамической работе с формами явно нужно работать с нечто.value, а не нечто.setAttribute('value','что-то'). Вроде же в статье описано, что на что влияет и когда что нужно. Как раз из-за попытки скрестить их воедино (как в IE) происходит неразбериха... |
| Автор: bars80080 28.4.2008, 13:06 |
| имхо, проблема здесь наоборот, т.е. читать надо не сверху вниз а снизу вверх проблема из-за того, что как раз решили что это не одно и то же. почему было не сделать так. свойство - есть свойство, и мы работаем с ним как нужно, а атрибут это своего рода расширение, т.е. добавление любительских свойств (собственно, оно же в js и есть), и пусть браузер разбирается с ними по своему, а js по своему к примеру, не составляет же труда добавить некему объекту свойство: obj.dps, почему было не сделать обратной зависимости: <div dps="qw"> - автоматич. присвоение свойства имхо дальше моё разумение не позволяет нащупать тонкую принципиальную грань между свойствами и атрибутами, кроме тех, которые придумали себе w3c |
| Автор: beglec 28.4.2008, 13:15 | ||
Спасибо. То что нужно |
| Автор: SelenIT 28.4.2008, 14:10 |
А нужно ли так жестко вшивать чисто скриптовую логику (ведь свойства - объекты скрипта) в разметку? Особенно в наши дни, когда даже от onclick-ов и т.п. в коде стараются избавляться всеми силами (через разные вариации addEvent и т.п.)? |
| Автор: bars80080 28.4.2008, 14:16 |
я не отвечу |