13 мая 2012 г., 05:19 от Derek 朕會功夫

Как использовать jQuery для получения элементов с одинаковым z-индексом?

Прямо сейчас у меня есть элементы с разнымиz-indexи я хочу сгруппировать их с помощью jQuery.

<code><div class="float" style="z-index:2"></div>
<div class="float" style="z-index:6"></div>
<div class="float" style="z-index:10"></div>
           .
           .
           .
<!-- You get the point -->
</code>

я могу использовать.attr("style") чтобы получитьz-index ценить, но это не очень хорошая идея, чтобы сделать это. (а иногда это может быть в<style> тег тоже) Есть что-нибудь подобное?

<code>var ele = $("*[zindex=5]");
</code>

Ждем любых решений.

Ответы на вопрос (0)

13 мая 2012 г., 05:50 от Sampson

Создайте свой собственный пользовательский селектор:

$.extend($.expr[':'], {
  zindex: function(el, i, m) {
    return $(el).css("z-index") === m[3];
  }
});

Который вы могли бы затем использовать следующим образом:

$("div:zindex(2)").each(function(){
 alert( this.innerHTML );
});

Это вернет всеdiv элементы сz-index из2.

<div style="position:relative; z-index:2">Foo</div>
<div style="position:relative; z-index:6">Bar</div>

С вышеупомянутой разметкой более ранний сценарий jQuery будет предупреждатьFoo.

Демо-версия:http://jsbin.com/icevih/2/edit

13 мая 2012 г., 05:31 от bitoshi.n

Если вы добавите эту функцию, то вы будете иметь их

$.fn.filterByZIndex = function(zIndex) {
    var $zElm = $("*").filter(function() {
        return $(this).css('z-index') == zIndex;
    });
    return $zElm;
};

ВАШ ОТВЕТ НА ВОПРОС