У меня была некоторая помощь и некоторые рекомендации по удалению имени класса.Изменение имени класса с помощью ссылки на родителя с jQuery
Они работали в скрипку, но мое приложение просто немного по-другому. У меня есть следующие:
<span id="refType_1" class="refType indent_02">Link Header</span>
Мой Javascript выглядит следующим образом:
if (action == "Edit") {
var parent = linkObj.closest("tr");
parent.find(".refType").html($("#Type :selected").text()); // 1
parent.find(".refType").className.replace(/indent_\d+($|\s)/, "xxx");
parent.find(".refType").trim(this.className.replace(/(^|\s)indent_\d+($|\s)/, " "));
Я попробовал последние два способа замены имени класса с «», но оба дают мне ошибку. Например, последний метод дает следующее:
SCRIPT438: Object doesn't support property or method 'trim'
Я думаю, что я на 99%, чтобы заставить его работать, но был бы признателен за советы. Я пробовал несколько разных способов до сих пор, и он все еще не работает.
Обратите внимание, что строка с комментарием // 1 работает. Я могу изменить содержимое пролета по мере необходимости. Что не работает это:
parent.find(".refType").className.replace(/indent_\d+($|\s)/, "xxx"); or
parent.find(".refType").trim(this.className.replace(/(^|\s)indent_\d+($|\s)/, " "));
Это мои две разные попытки получить текст indent_xx быть удален из диапазона.
Я думаю, что вам понадобится добавить еще несколько HTML ... как вызывается этот javascript? откуда ? – ManseUK
Не могли бы вы разместить весь HTML-код, который является релевантным. В вашем jQuery есть ссылки на элементы, которые не показаны. –
Вы не можете использовать 'className' или' trim' для объекта jQuery. используйте [0], чтобы получить фактический объект DOM, или используйте 'addClass' и' removeClass' – yoavmatchulsky