Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.09.2013, 15:10
Аспирант
Отправить личное сообщение для razorg1991 Посмотреть профиль Найти все сообщения от razorg1991
 
Регистрация: 10.11.2012
Сообщений: 98

Замена класса элемента
Пытаюсь нацарапать скрипт, который бы искал элемент с определенным классом и заменял его на другой.
Хотелось бы конечно на чистом js. Вот что получилось у меня:

document.getElementsByClassName("vm-button-correct").className += "btn btn-success";
document.getElementsByClassName('vm-button-correct').className.replace(/\bvm-button-correct\b/,'');


Но что-то не работает ((( Вынес скрипт в отдельный файл и подключил в главном файле сайта.
Что я сделал не так?
Да и еще такое уточнение: у нужного мне элемента нет id только класс и добраться до него я не могу (сайт на cms joomla, пишу свой шаблон и до некоторых файлов нет доступа из шаблона)
Помогите пжлст довести код до ума
Ответить с цитированием
  #2 (permalink)  
Старый 23.09.2013, 15:43
Интересующийся
Отправить личное сообщение для pumaone Посмотреть профиль Найти все сообщения от pumaone
 
Регистрация: 05.08.2013
Сообщений: 19

метод не кроссбраузерен getElementsByClassName (getElementByClass).
Смотрите здесь: http://javascript.ru/unsorted/top-10...lementsbyclass
Ответить с цитированием
  #3 (permalink)  
Старый 23.09.2013, 15:46
Аспирант
Отправить личное сообщение для razorg1991 Посмотреть профиль Найти все сообщения от razorg1991
 
Регистрация: 10.11.2012
Сообщений: 98

Сообщение от pumaone
Смотрите здесь: http://javascript.ru/unsorted/top-10...lementsbyclass
Страница не найдена
Ответить с цитированием
  #4 (permalink)  
Старый 23.09.2013, 15:53
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

document.getElementsByClassName("vm-button-correct")[0].className = "btn btn-success";
Ответить с цитированием
  #5 (permalink)  
Старый 23.09.2013, 16:00
Интересующийся
Отправить личное сообщение для pumaone Посмотреть профиль Найти все сообщения от pumaone
 
Регистрация: 05.08.2013
Сообщений: 19

еще разок)
http_://javascript.ru/unsorted/top-10-functions#8-getelementsbyclass
уберите пробел, должно работать
Ответить с цитированием
  #6 (permalink)  
Старый 23.09.2013, 16:56
Аспирант
Отправить личное сообщение для razorg1991 Посмотреть профиль Найти все сообщения от razorg1991
 
Регистрация: 10.11.2012
Сообщений: 98

Сообщение от Ruslan_xDD
document.getElementsByClassName("vm-button-correct")[0].className = "btn btn-success";
Не работает (((
Ответить с цитированием
  #7 (permalink)  
Старый 23.09.2013, 16:58
Аспирант
Отправить личное сообщение для razorg1991 Посмотреть профиль Найти все сообщения от razorg1991
 
Регистрация: 10.11.2012
Сообщений: 98

Сообщение от pumaone Посмотреть сообщение
http_://javascript.ru/unsorted/top-10-functions#8-getelementsbyclass
Честно я в js не очень поэтому мне тяжеловато, вот вроде бы то что мне нужно

function addClass(o, c){
    var re = new RegExp("(^|\\s)" + c + "(\\s|$)", "g")
    if (re.test(o.className)) return
    o.className = (o.className + " " + c).replace(/\s+/g, " ").replace(/(^ | $)/g, "")
}
 
function removeClass(o, c){
    var re = new RegExp("(^|\\s)" + c + "(\\s|$)", "g")
    o.className = o.className.replace(re, "$1").replace(/\s+/g, " ").replace(/(^ | $)/g, "")
}


Только я не пойму что мне где поменять
Ответить с цитированием
  #8 (permalink)  
Старый 23.09.2013, 18:06
Интересующийся
Отправить личное сообщение для pumaone Посмотреть профиль Найти все сообщения от pumaone
 
Регистрация: 05.08.2013
Сообщений: 19

тогда подключи jquery (<script src="http_://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>), и попробуй использовать вот это: (http_://www.w3schools.com/jquery/html_removeclass.asp) \ не забыть о пробелах в линках
Ответить с цитированием
  #9 (permalink)  
Старый 23.09.2013, 21:08
Аспирант
Отправить личное сообщение для razorg1991 Посмотреть профиль Найти все сообщения от razorg1991
 
Регистрация: 10.11.2012
Сообщений: 98

Сообщение от pumaone
тогда подключи jquery
Не не - вот тут у меня труба вообще ((( У меня главный скрипт сайта (инет-магазин) написан на старючей версии jquery 1.6.1 (хотя версия скрипта самая новая) и он ни в какую не хочет работать с версиями jquery старше 1.6.1. А переписывать скрипт магазина вообще не вариант, да и не нужно это, потому как с обновлениями скрипта все будет слетать
Поэтому и пытаюсь изворачиваться чистым js

Никто не поможет допилить верхний скрипт?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможна замена класса (для работы с фреймворком css)? Faab jQuery 4 16.06.2013 03:39
Замена DOM элемента другим элементом MaxXxaM Events/DOM/Window 5 04.05.2013 01:24
Использование классов в JavaScript devote Ваши сайты и скрипты 70 01.02.2013 17:17
jquery не замечает смены класса у элемента artygrand jQuery 4 16.12.2012 08:48
Разовая замена элемента DeL Esprit jQuery 2 24.11.2011 17:01