Jquery: вы можете объяснить мне эту строку кода?помогите мне понять это, или дайте ссылки, где я могу узнать об этом - PullRequest
2 голосов
/ 04 мая 2011

Jquery 1.6 только что вышел, я взял этот код со страницы .is api. У меня просто было несколько вопросов по коду, который я там увидел:

1) зачем нужен return? Разве нет другого способа написать это, что проще? Я имею в виду, я никогда не использовал return, когда я написал что-нибудь Jquery. Очевидно, я не написал ничего продвинутого, и я все еще только учусь. Зачем вам это нужно, когда вы будете его использовать? и есть ли другой способ сделать то же самое?

2) $('strong', this) означает «любые <strong> элементы в этом элементе». верно? и эта полная строка будет читать "дай мне элемент, в котором есть 2 сильных элемента"? право? или? (я думаю, что я ошибся.) разве нет другого способа написать это? Я видел, что это использовалось только несколько раз.

$("li").click(function() {   
var $li = $(this),
    isWithTwo = $li.is(function() {

      return $('strong', this).length === 2;

    });   
if ( isWithTwo ) {
    $li.css("background-color", "green");   } else {
    $li.css("background-color", "red");   } });

Ответы [ 2 ]

3 голосов
/ 04 мая 2011

зачем нужен возврат?

Посмотрите документацию для is. Дело в том, что функция вернет либо true, либо false.

$('strong', this) означает «любые <strong> элементы в этом элементе». право?

да

и эта полная строка будет читать "дай мне элемент, в котором есть 2 сильных элемента"?

Нет. Будет "Если есть 2 сильных элемента, верните true, иначе верните false"

1 голос
/ 04 мая 2011

return $('strong', this).length === 2;

Если this имеет 2 <strong> элементов, вернуть true. В противном случае верните false.

...