이 코드는 jQuery 플러그인 자습서에서 가져 왔습니다. 그러나, 내 질문은 javascript/jquery
질문입니다.이 코드의 작동 방식은 무엇입니까? (jQuery chaining)
코드에서 filter()
은 "필터링 된"개체의 컬렉션을 포함하는 개체를 반환한다는 것을 알 수 있습니다. append()
이 그것을 조작하고 있습니다.
내가 묻는 것은 : 추가 기능이 모든 요소를 조작하고 반환 된 객체에서 한 번만 작동하지 않는 이유는 무엇입니까?
this.filter("a").append(function() {
return " (" + this.href + ")";
});
너는 의문스럽지 않다. 두 번째 단락에서 반환 객체에는 콜렉션이 포함되어 있다고 했으므로 "모든 요소"와 "반환 된 객체"는 같은 것입니다. – Quentin
나는 이해한다. 나는 다시 말하려고 노력할 것이다. – yossi
내가 무엇을 묻고 있는지 (글자 그대로) 어떻게 이해했는지는 범위의 문제입니다. 문서별로 - http://api.jquery.com/append/#append-function -'append.function()'은 "매치 된 엘리먼트들의 집합 안의 각 엘리먼트에 대해 작동합니다 [...]이 함수 내에서, this '는 세트의 현재 요소를 나타냅니다. " 다른 말로하면, 코드에서, 처음'this.filter'의 범위는 함수 자체에서'this.href'의 범위와 다릅니다. 이것은 함수를 통해 반복하는 동안 각 요소를 나타냅니다. –