Присвоить id по клику на div?

Рейтинг: 0Ответов: 3Опубликовано: 07.04.2015

Как присвоить id="myshowcolor" по клику на div, а input, который находится выше присвоить id="myhexcode"?

Я нашел что-то приблизительное в интернете, но вот переделать мозгов не хватает.

$("#tabs").on("click", ".tab", function(){
    $("#tabs .tab").removeClass("active"); //удаляем класс во всех вкладках
    $(this).addClass("active"); //добавляем класс текущей (нажатой)
});

Пример структуры:

<input>
<a href="#">
<div></div>
</a>

<input>
<a href="#">
<div></div>
</a>

<input>
<a href="#">
<div></div>
</a>

<input>
<a href="#">
<div></div>
</a>

Ответы

▲ 1

Можно использовать функцию attr (https://api.jquery.com/attr/).

Примерно так:

$("#tabs").on("click", ".tab", function(){
    $(this).attr("id", "some-id");
});
▲ 1
$('div').on('click', function(){ 
    $(this).parent().attr('id', 'myshowcolor'); 
    $(this).siblings('input:first').attr('id', 'myhexcode'); 
});
▲ 1

Примерно так:

$('a').on('click', function() {
    var $div = $(this).find('div')[0];
    var $input = $(this).prev()[0];
    $($div).attr('id', 'myshowcolor');
    $($input).attr('id', 'myhexcode');
});