LINUX.ORG.RU

Вообще, в JS есть универсальная ф-ция, позволяющая переписать любой атрибут.

document.getElementsByClassName("foo")[0].setAttribute("class", "bar")
Но идеологически правильно так как выше подсказали, className. Прямо как ты любишь, линуксвейно, на каждое возможное действие своя приблуда, епт, язык «упрощается», Do It Complicated, Stupid (см. принцип KISS, DICS), никаких велосипедов, только хардкор.

linux-101
()
Ответ на: комментарий от zz

Притом, что запиливается сахарок чуть ли не на каждый частный случай, что не есть гуд. Язык превращается в синтаксическую помойку.

linux-101
()
Ответ на: комментарий от linux-101

document.getElementsByClassName(«foo»)[0]

document.querySelector('.foo')

Deleted
()
Ответ на: комментарий от linux-101

Или, может быть, они не являются частью языка?

Представь себе.

anonymous
()
Ответ на: комментарий от linux-101

Язык, случайно, не предоставляет инструменты для работы с dom? Или, может быть, они не являются частью языка?

Г-ди, какой же ты тупой (-‸ლ)

mix_mix ★★★★★
()
Ответ на: комментарий от Deleted

Я говорю не про сам DOM, а про интсрументы (в частности — функции) для работы с DOM. Например, тот же querySelector. Это тоже не часть языка?

linux-101
()
Ответ на: комментарий от mix_mix

Кукарекушка кукарекнул. Да, такое быдло как ты считает, что функции для работы с дом — не часть языка, при этом не задумываясь, сука, а являются ли частью языка ф-ции для работы со строками. (А в чем разница???). Но быдлу быдлячее, упивайся своим умом, хомячок, пока начальник не шуганул.

linux-101
()
Ответ на: комментарий от Deleted

Ладно, давай так, это часть реализации языка, или они не имеют никакого отношения не к языку не к реализации? Что ты называешь языком вообще?

linux-101
()
Ответ на: комментарий от linux-101

Сходи по ссылке, норкоман. Если я напишу на питоне скрипт для связи с инопланетянами это будет иметь какое-то отношения к «языку и реализации»?

Deleted
()
Ответ на: комментарий от Deleted

А если ты определяешь функцию на своем пистоне, она является частью языка? Чем любая другая функция отличается от твоего скрипта?

linux-101
()
Ответ на: комментарий от Deleted

Ладно, если быть точней, любой синтаксически правильный кусок кода на языке является программой на языке, если более формально. Язык — это правила. Если ты пишешь getStuff() на языке, это, естественно, не сам язык, а выражение на нем. При какой п*де тут DOM?

linux-101
()
Ответ на: комментарий от pylin

Короче, есть язык — правила, есть реализация — имплементация не противоречащая этим правилам. В просторечье под языком обычно подразумевается именно реализация, в том числе нативные функции. Все остальное, это левота. К данному спору не имеет отношения.

linux-101
()
Ответ на: комментарий от Deleted

Язы́к программи́рования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.

getSomthingFromDom(stuff)
function foo(){}
typeOf bar

Являются корректными записями на языке. Просвещайся. С этой точки зрения, они все являются не «частью языка» а языковыми конструкциями. А теперь расскажи, при какой п*де тут DOM или твой скрипт на пистоне?

linux-101
()
Ответ на: комментарий от Deleted

Если я напишу на питоне скрипт для связи с инопланетянами это будет иметь какое-то отношения к «языку и реализации»?

Да, это будет корректная программа на языке, выполняемая на реализации исполнителя.

anonymous
()
Ответ на: комментарий от mix_mix

Это, по-ходу, ты тупой, причем наглухо. Данная реализация действительно предоставляет инструменты для работы с DOM, которые, очевидно, являются частью реализации, в просторечье — частью языка. Почитай, чтоли книжки какие-нибудь, по программированию, только не про паскаль и плюсы, может каша в голове малость растрясется.

anonymous
()
Ответ на: комментарий от anonymous

v8 мне собери с инструментами для работы с DOM.

zz ★★★★
()

Уеб-программисты в треде, все в DOM!

PolarFox ★★★★★
()
Ответ на: комментарий от linux-101

Ты всё ещё не изменился, поздравляю. Ссылка тебе была дана. Читай.

Deleted
()
Ответ на: комментарий от rogerw

можно заменить один элемент на другой

заменить не получится, там <tr> в котором хрен знает сколько <td>, в которых тоже что-то есть вложенное.

emulek
() автор топика
Ответ на: комментарий от Black_Roland

А погуглить?

что-то не нагуглилось у меня.

document.getElementById(«MyElement»).className = «MyClass»;

спасибо, попробую. Отпишусь как (не)получится…

emulek
() автор топика
Ответ на: комментарий от linux-101

Прямо как ты любишь, линуксвейно, на каждое возможное действие своя приблуда, епт, язык «упрощается», Do It Complicated, Stupid (см. принцип KISS, DICS), никаких велосипедов, только хардкор.

угу. Бошка пухнет запоминать Over9000 разных методов. И гугл плохо ищет.

emulek
() автор топика
Ответ на: комментарий от Deleted

Если я напишу на питоне скрипт для связи с инопланетянами это будет иметь какое-то отношения к «языку и реализации»?

да. Но не к питону.

Но в данном конкретном случае мне не очень понятно, почему что-бы изменить style есть style, если value, есть value, а вот class почему-то через такую задницу?

emulek
() автор топика
Ответ на: комментарий от emulek

Так разговор уже и не про твой вопрос :)

pylin ★★★★★
()
Ответ на: комментарий от emulek

Слово «class» зарезервировано, вероятно. Где здесь задница то? Удобный API же есть. Или ты думаешь, что вручную парсить строку будет проще? Значение атрибута class — это ведь список, разделённый пробелами.

anonymous
()
Ответ на: комментарий от emulek

Хорошо ищет, только на английском искать надо.

anonymous
()
Ответ на: комментарий от anonymous

Слово «class» зарезервировано, вероятно

А какие проблемы могут быть? Оно же не в глобале, в данном случае. Я, на самом деле, не утверждаю, просто до меня не доходит какие там могут быть коллизии?

foo={}
foo.return=1
console.log(foo.return)

linux-101
()
// div is an object reference to a <div> element with class="foo bar"
div.classList.remove("foo");
div.classList.add("anotherclass");

// if visible is set remove it, otherwise add it
div.classList.toggle("visible");

alert(div.classList.contains("foo"));

div.classList.add("foo","bar"); //add multiple classes
vertexua ★★★★★
()
Ответ на: комментарий от linux-101

https://developer.mozilla.org/en-US/docs/Web/API/Element.className

The name className is used for this property instead of class because of conflicts with the «class» keyword in many languages which are used to manipulate the DOM.

Т.е., я так понимаю, чтобы можно было одни DOM-функции иметь для разных языков (не обязательно в браузере).

anonymous
()

всем спасибо, ответы исчерпывающие.

emulek
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.