-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
高三精读小组课后作业(04期) #16
Comments
草,第一题答案忘了擦除就发了,大家别看邮件:sweat: |
1. function countElm (root) {
var count=0;
var len=root.childNodes.length;
if(len==0){
return 0;
}else{
for(var i=0;i<len;i++){
var _node=root.childNodes[i];
if(_node.nodeType==1){
count++;
}
count+=countElm(_node);
}
return count;
}
} 2. 想到使用 document.domain ,希望看到好的答案,整理过就最好了3. document.anchors 带name属性的标签,document.link 带href属性的a 标签4.显示2和3,文档流被覆盖5.function printAttributes(elm){
var pairs=[],attrName,attrValue,i,len;
for(i=0,len=elm.attributes.length;i<len;i++){
attrName=elm.attributes[i].nodeName;
attrValue=elm.attributes[i].nodeValue;
//specified 表示html元素中是否真正指定了值
if(elm.attributes[i].specified){
pairs.push(attrName+"=\""+attrValue+"\"\n");
}
}
return pairs.join('');
} 6.li = document.getElementsByTagName('li'); li的length会实时变动,len应该先赋值 |
function countElm(root) { 3.document.anchors,包含文档中带有name特性的元素, |
function walkNode(elem){
var len = elem.children.length, count = 0
if(len){
count += len;
[].forEach.call(elem.children, (elem) => {
console.log(elem.tagName);
count += walkNode(elem);
})
}
return count;
}
walkNode(document.getElementById('element')); |
#247-285页(第十章)
答案将于一周后更新于本贴,大家可以跟帖写答案看自己对基础知识的掌握程度如何。
跟帖回答案的都应自行思考完成,不然没有任何意义
1.写一个函数,遍历某个节点,返回该节点所拥有的所有后代节点(element类型)的数量:
2.主域相同、子域不同的跨域通信模拟
模拟2个主域相同子域不同的页面,比如
http://www.abc.com:8080/sop/a.html
和http://abc.com:8080/sop/b.html
,在a.html
页面插入b.html
页面(iframe),并在a.html
页面中将b.html
上的div
内容修改为“OK”。P.S. 你可以通过修改host来模拟跨域:
a.html
b.html
3.
document.anchors
和document.links
的区别是什么?4.说说下方html对应的页面最终会显示什么内容:
5.编写一个方法,用来打印一个节点的所有指定的特性,要求兼容旧IE
6.说说下方代码存在什么问题,以及如何解决(试着说出2种解决方案)
The text was updated successfully, but these errors were encountered: