Как изменить собственные определенные атрибуты

0

Мне интересно, как изменить собственные определенные атрибуты в тегах html с помощью JavaScript/jQuery. Например: я определил атрибут, названный по возрастанию:

<th ascending="true" id="1">some text</th>

и в JavaScript/jQuery Я хочу изменить этот атрибут на "false", я пытался таким образом, но он не работает (я предполагаю, что этот параметр предназначен только для предопределенных атрибутов):

var tag = document.getElementById("1");
    tag.ascending = "false";
  • 0
    если вы используете jquery, вы можете рассмотреть возможность использования атрибута data вместо определения пользовательских: api.jquery.com/data
  • 0
    Вы не должны использовать свои собственные выдуманные атрибуты. Вместо этого смотрит в атрибут данных.
Показать ещё 1 комментарий

3 ответа

2
Лучший ответ

Используйте пользовательские data-* при добавлении настроек, иначе он не пройдет проверку! В твоем случае:

<th data-ascending="true" id="1">some text</th>

И получить/установить (чистый JS):

var tag = document.getElementById("1");
tag.getAttribute("data-ascending"); //get
tag.setAttribute("data-ascending", true); //set

JQuery:

$("#1").data("ascending"); //get
$("#1").data("ascending", true); //set
1

Вы можете использовать метод setAttribute.

Например: tag.setAttribute("Восходящий", "false");

0

Попробуйте это в jquery

$(function(){
  $('#1').attr('ascending',false);
});

но вы должны использовать.prop()

$(function(){
  $('#1').prop('ascending',false);
})

Или в javascript

function changeValue() {
  var tag = getElemendById('1');
  tag.setAttribute('ascending', false);
}

и html для версии javascript должны выглядеть так:

<th onLoad="changeValue()" data-ascending="true" id="1">some text</th>

Я не тестировал его, но он должен работать;)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню