jQuery FAQ – часто задаваемые вопросы по jQuery



Вопрос: Как проверить существование DOM элемента?
Решение:
if ($jQuery("#example-div").length != 0) { 
 alert('element exists');
}

Вопрос: Как сделать выборку DOM элементов используя регулярное выражение?
Решение:
jQuery.expr[':'].regex = function(elem, index, match) {
    var matchParams = match[3].split(','),
        validLabels = /^(data|css):/,
        attr = {
            method: matchParams[0].match(validLabels) ? 
                        matchParams[0].split(':')[0] : 'attr',
            property: matchParams.shift().replace(validLabels,'')
        },
        regexFlags = 'ig',
        regex = new RegExp(matchParams.join('').replace(/^\s+|\s+$/g,''), regexFlags);
    return regex.test(jQuery(elem)[attr.method](attr.property));
} 

// Выбрать все элементы с ID по маске "begin*end"
$(':regex(id,begin.*end)');

Вопрос: Как установить элементу CSS свойство?
Решение:
$(this).css("color","red"); // чтобы установить
$(this).css("color",""); // чтобы убрать

Вопрос: Как посчитать количество скрытых <li> элементов в списке <ul>?
Решение:
var list = $("#myUList li").filter(function() {
    return $(this).css("display") === "none";
});
list.length

Вопрос: Как обработать событие click для элемента?
Решение:
$("#editButton").click(function() {
// код обработчика
});

Вопрос: Как выбрать элементы по свойству name?
Решение:
$('td[name=tcol1]') // только точное совпадение 'tcol1'
$('td[name^=tcol]') // все что начинается с 'tcol'

Вопрос: Как обработать каждый элемент подходящий под условие селектора?
Решение:
$('#example td.edit').each(function() {
this.innerHTML = '<input size="5" type="text" value="'+this.innerHTML+'">';
});

Вопрос: Как удалить все элементы начиная с заданного элемента до другого заданного элемента?
Решение:
$(nTr).nextUntil(".row").remove();

Вопрос: Как получить все элементы в содержимом, которых есть заданная строка?
Решение:
$(".myClass:contains('тест')").each(function(){
 $(this).css("display","");
});

Вопрос: Как получить первый или последний элемент в контейнере?
Решение:
$('.dataTables_scrollBody table thead tr:first-child th:last-child').addClass("ui-state-default");
$('.dataTables_scrollHeadInner table thead tr:first-child th:last-child').addClass("ui-state-default");

...