1

すべての要素を同じ高さにするjQuery関数を作成しようとしています。

こう呼びたい

$('ul#items li').MakeSameHeight();

それはすべてのliを同じ高さにするはずです。したがって、すべてのliをループして最大の高さを取得する必要があります。それ、どうやったら出来るの?例えば。

(function ($) {
  $.fn.MakeSameHeight() = function (opts) {
    // What do I put here?
  };
} (jQuery));

編集 :

誰かが興味を持っている場合は、PSL のおかげで、これが私の最終的な機能です。

(function ($) {
  $.fn.MakeSameHeight = function (opts) {
    var maxH = 0;
    this.each(function () {
      maxH = Math.max(maxH, $(this).height());
    });
    this.each(function () {
      $(this).height(maxH);
    });
    return this;
  };
} (jQuery));
4

2 に答える 2

1

これはあなたが探しているものですか:-

(function ($) {
  $.fn.MakeSameHeight = function (opts) {

//this inside the jquery plugin function refers to the result of jquery selector which          
 //itself is a jquery object. In this case it is list of li's
      this.each(function(){ //iterate through the selected elements
         alert($(this).css('height'));  //here do $(this) to get that particular element
         //to set the height $(this).css('height','yourheightvalue');
      });
    // What do I put here?

   return this;  //return the elements back for chaining.
  };
} (jQuery));

$('ul#items li').MakeSameHeight();

フィドル

例:-

(function ($) {
  $.fn.MakeSameHeight = function (opts) {
      this.each(function(){
     $(this).css('height', opts.height);
      });
    return this;
  };
} (jQuery));

$('ul#items li').MakeSameHeight({'height':'30px'});
于 2013-05-15T03:11:54.493 に答える
0
(document).ready(function(){ 
    $.each($('ul#items li'), function() {
// or: $('ul#items li').each(function() {
        $(this).css('height','someHeight');
    });
});
于 2013-05-15T03:13:16.903 に答える