Отличия attr() и prop() в JQuery?

230
22 июля 2018, 23:00

Есть два свойства, attr и prop, и я никак не могу понять чем они отличаются, если вы знаете, то напишите пожалуйста.

Answer 1

Допустим нам нужно узнать, нажат ли input="checkbox".
Насколько мы знаем, чтобы он был "нажат" изначально, нужно дописать ему атрибут checked.

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

Создадим <input>
И проверим его на "нажатие" при помощи .attr()

$('#check').bind('change',function(){ 
    var check = $(this).attr('checked'); 
    console.log('Check? '+check); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.js"></script> 
 
<input id="check" type="checkbox">

А теперь, проверим при помощи .prop()

$('#check').bind('change',function(){ 
    var check = $(this).prop('checked'); 
    console.log('Check? '+check); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.js"></script> 
 
<input id="check" type="checkbox">

READ ALSO
Генерация числового массива

Генерация числового массива

Нужен длинный массив в 100 "ячеек", с "шагом" +5 и начинаться должен не с нуляТипо так: arr = ['5','10','15',

160
Фоновая загрузка изображений // JQuery, CSS

Фоновая загрузка изображений // JQuery, CSS

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

155
Нахождение ячейки в таблице

Нахождение ячейки в таблице

как можно найти ячейку в таблице задав x и y

157
Как сделать активный клик на javascript?

Как сделать активный клик на javascript?

У меня есть див, хочу сделать так, чтобы при нажатии на него появлялась полоска (hr), но выполнить это нужно так, чтобы полоска появлялась только...

235