能否幫我解釋下加粗的句子?
function dir(elem, dir, until) {??? //這個(gè)dir怎么理解?until呢?
? var matched = [],
??? truncate = until !== undefined;
? while ((elem = elem[dir]) && elem.nodeType !== 9) {?
??? if (elem.nodeType === 1) {
????? if (truncate) {
??????? if (elem.nodeName.toLowerCase() == until || elem.className == until) {
????????? break;
??????? }
????? }
????? matched.push(elem);
??? }
? }
? return matched;
}
? jQuery.each({
??? parent: function(elem) {
????? var parent = elem.parentNode;
????? return parent && parent.nodeType !== 11 ? parent : null;
??? },
??? parents: function(elem) {
????? return dir(elem, "parentNode");
??? },
??? parentsUntil: function(elem, until) {
????? return dir(elem, "parentNode", until);
??? }
? }, function(name, fn) {
??? ajQuery[name] = function(until, selector) {
????? return? fn(until, selector);
??? };
? });
2019-12-02
dir => direction 方向
2016-06-08
你寫錯(cuò)了吧 第二個(gè)參數(shù)不是dir 定義一個(gè)函數(shù)dir ?elem 是要訪問的DOM元素 第二個(gè)參數(shù)是它的兄弟或者父元素等等 until是截止到哪一個(gè)元素 比如第二個(gè)參數(shù)為'parentNode' 截止到body 那就返回一個(gè)數(shù)組是elem的所有父元素直到body?
aJquery[name] 給ajQuery定義新的方法 name就是前面那個(gè)對(duì)象的每一個(gè)key (parent,parents,parentsUtil) ?即給ajQuery額外定義了三個(gè)屬性 每個(gè)屬性的值是一個(gè)function