Имя класса jquery change

Я хочу изменить класс td-тега с учетом id тега td:

<td id="td_id" class="change_me"> ...

Я хочу иметь возможность сделать это, находясь внутри события click другого объекта dom. Как захватить идентификатор td и изменить его класс?

Ответ 1

Вы можете установить класс (независимо от того, что это было), используя .attr(), например:

$("#td_id").attr('class', 'newClass');

Если вы хотите добавить класс, используйте .addclass(), например:

$("#td_id").addClass('newClass');

Или короткий путь для замены классов с помощью .toggleClass():

$("#td_id").toggleClass('change_me newClass');

Здесь полный список методов jQuery специально для атрибута class.

Ответ 2

Я думаю, вы ищете это:

$('#td_id').removeClass('change_me').addClass('new_class');

Ответ 4

Вы можете сделать это: $("#td_id").removeClass('Old_class'); $("#td_id").addClass('New_class'); Или вы можете сделать это

$("#td_id").removeClass('Old_class').addClass('New_class');

Ответ 6

Итак, вы хотите изменить его, КОГДА он нажал... позвольте мне пройти весь процесс. Предположим, что ваш "Внешний объект DOM" является входом, например, select:

Начнем с этого HTML:

<body>
  <div>
    <select id="test">
      <option>Bob</option>
      <option>Sam</option>
      <option>Sue</option>
      <option>Jen</option>
    </select>
  </div>

  <table id="theTable">
    <tr><td id="cellToChange">Bob</td><td>Sam</td></tr>
    <tr><td>Sue</td><td>Jen</td></tr>
  </table>
</body>

Некоторые очень простые CSS:

​#theTable td {
    border:1px solid #555;
}
.activeCell {
    background-color:#F00;
}

И настройте событие jQuery:

function highlightCell(useVal){
  $("#theTable td").removeClass("activeCell")
      .filter(":contains('"+useVal+"')").addClass("activeCell");
}

$(document).ready(function(){
    $("#test").change(function(e){highlightCell($(this).val())});
});

Теперь, когда вы выбираете что-то из выбора, он автоматически найдет ячейку с соответствующим текстом, что позволит вам подорвать весь процесс на основе идентификатора. Конечно, если вы хотите сделать это таким образом, вы можете легко изменить script, чтобы использовать идентификаторы, а не значения, говоря

.filter("#"+useVal)

и обязательно добавьте идентификаторы соответствующим образом. Надеюсь, это поможет!

Ответ 7

EDIT:

Если вы говорите, что вы меняете его из вложенного элемента, вам совсем не нужен идентификатор. Вы можете сделать это вместо:

$(this).closest('td').toggleClass('change_me some_other_class');
    //or
$(this).parents('td:first').toggleClass('change_me some_other_class');

Оригинальный ответ:

$('#td_id').removeClass('change_me').addClass('some_other_class');

Другой вариант:

$('#td_id').toggleClass('change_me some_other_class');

Ответ 8

$('.btn').click(function() {
    $('#td_id').removeClass();
    $('#td_id').addClass('newClass');
});

or

$('.btn').click(function() {
    $('#td_id').removeClass().addClass('newClass');
});

Ответ 9

В том случае, если у вас уже есть класс и вам нужно чередоваться между классами как противно добавлять класс, вы можете связать события переключения:

$('li.multi').click(function(e) {
    $(this).toggleClass('opened').toggleClass('multi-opened');
});

Ответ 10

этот метод хорошо работает для меня

$('#td_id').attr('class','new class');

Ответ 11

Изменить класс по JQuery

Вы можете установить класс с помощью .attr(), например,

$("#td_id").attr('class', 'newClass');

Ответ 12

Я лучше использую .prop, чтобы изменить className, и он работал отлично:

$(#td_id).prop('className','newClass');

для этой строки кода вам просто нужно изменить имя newClass и, конечно, идентификатор элемента в следующем примере: idelementinyourpage

$(#idelementinyourpage).prop('className','newClass');

Кстати, когда вы хотите найти, какой стиль применяется к любому элементу, вы просто нажимаете F12 в браузере, когда отображается ваша страница, а затем выбираете на вкладке DOM Explorer элемент, который хотите увидеть. В Styles теперь вы можете видеть, какие стили применяются к вашему элементу и из какого класса он читается.

Ответ 13

изменить класс с помощью jquery

попробуй это

$('#selector_id').attr('class','new class');

Вы также можете установить любой атрибут, используя этот запрос

$('#selector_id').attr('Attribute Name','Attribute Value');