Тема: jQuery plugIn
Показать сообщение отдельно
  #5 (permalink)  
Старый 18.09.2011, 13:35
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Сообщение от Sweet
Видимо, делать нужно так:
var s = $('body').test();
console.log(s);
Очевидно, что для этого нужно, чтобы метод .test возвращал нужное значение.
Нет, конечно. Плагин должен возвращать set of mached elements. Всегда. Если нужны какие-то данные то их всегда можно хранить в data. Или сделать getter типа
var s = $('body').test('options', 's');

Хотя интересный вопрос, как это лучше сделать. Так - мутно:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>

<span>Test</span>
<b>And</b>
<span>Hello</span>

<script>
$.fn.test = function(settings) {
    var options = $.extend({
      color: 'red'
    }, settings);
    
    if (typeof arguments[0] === 'string') {
      return options[arguments[1]];
    }
    
    return this.each(function() {
      $(this).css({color: options.color});
    });
  };
  
$('span').test({color: 'green'});
alert( $('span').test('options', 'color') );
</script>

Последний раз редактировалось ваый, 18.09.2011 в 13:48.
Ответить с цитированием