Это сильно обрезанный исходный код с веб-страницы, над которой я сейчас работаю.Javascript, чтобы изменить класс элемента
<!--// GRID ENTRY //-->
<li class="entry" id="sjDDulC8wt">
<div class="entry_actions">
<ul class="entry_actions">
<li class='have_it'>
<a href='javascript: haveItem("name", "id", "none")' target='_self' title='Have It' class='have_it'>%</a></li>
</ul>
</div>
</li>
Внутри функции haveItem()
Я пытаюсь изменить класс <a>
элемента из «have_it» до «have_it выбранного», чтобы изменить внешний вид элемента. Причиной для id является то, что у меня есть десятки этих элементов на странице. Javascript В настоящее время я использую это:
var targetA = document.getElementbyID(sjDDulC8wt).getElementsbyTitle("Have_it");
targetA.removeClass("have_it").addClass("have_it selected");
Когда я щелкаю по ссылке, функция haveItem()
работает, но это не меняет класс. Как я могу изменить свой сценарий так, чтобы щелчок по ссылке изменил класс?
'getElementsbyTitle' ... это действительно? – Pointy
В JavaScript нет таких функций, как 'removeClass' и' addClass'. Также не существует 'getElementsByTitle'. Я обычно не решаюсь ответить «использовать jQuery», но ** использовать jQuery **. Это та вещь, на которой она действительно превосходит. Ваш код будет сжиматься до '$ ('# sjDDulC8wt [title = Have_it]'). AddClass ('selected')'. – meagar
У вас есть несколько проблем здесь: (1) поместить идентификатор в кавычки в getElementByID. (2) getElementsByTitle не существует. (3), даже если он существует, вторая строка пытается выполнить операции с одним элементом в массиве. (4), даже если это сработало, функции addClass и removeClass не существуют. Вы можете исправить все эти проблемы, используя jQuery. –