美文网首页让前端飞
【百度】js基础任务2-二维数组,dom操作

【百度】js基础任务2-二维数组,dom操作

作者: M_Jehol | 来源:发表于2017-04-16 11:21 被阅读0次

    最近在学百度前端学院斌斌的课程

    查漏补缺,收获不少,做个总结

    题目:

    将提供的空气质量数据数组,按照某种逻辑(比如空气质量大于60)进行过滤筛选,最后将符合条件的数据按照一定的格式要求显示在网页上

    我的提交:https://github.com/MJingv/baiduFE--jsproject/blob/master/task2.html

    1.二维数组的排序

    我们都知道数组排序直接写函数就可以

    二维数组,也很简单

    2.dom操作

    发现自己原生jsdom操作基础不扎实,总结一下

    一、JS中innerHTML、outerHTML、innerText 、outerText、value的区别与联系?

    jS中设置或者获取所选内容的值:

    ①innerHTML :属性设置或返回该标签内的HTML。也就是从对象的起始位置到终止位置的全部内容,包括Html标签。

    ②outerHTML:属性设置或返回该标签及标签内的HTML。也就是从对象的该标签起始到终止位置的全部内容,包括Html标签。

    如果要输出不含HTML标签的内容,可以使用innerHTML取得包含HTML标签的内容后,再用正则表达式去除HTML标签,

    ③inneText:从起始位置到终止位置的内容,但它去除html标签。(只能在IE和chrome下使用)

    ④outerText 设置(包括标签)或获取(不包括标签)对象的文本

    ⑤value:属性可设置或返回密码域的默认值。获取文本框的值

    二、jQuery中的text()、html()和val()

    jQuery中设置或者获取所选内容的值:

    ①text();设置或者获取所选元素的文本内容;

    ②html();设置或者获取所选元素的内容(包括html标记);

    ③val();设置或者获取表单字段的值(前提是表单设置了value属性);

    举个🌰

    创建节点createElement()

    var node = document.createElement(“div”);

    这个节点不会被自动添加到文档(document)里(初始没有)

    创建文本节点createTextNode()

    var value = document.createTextNode(“text”);

    这个节点不会被自动添加到文档(document)里(初始没有)

    如果插入的内容不带HTML格式,用createTextNode比innerHTML安全,而innerText又有浏览器不兼容的问题,因此用createTextNode很好使。

    插入节点到最后appendChild()

    node.appendChild(value);

    将节点插入到最后,上面两个创建的节点不会自动添加到文档里,所以就要使appendChild来插入了。

    如果是新的节点是插入到最后,而如果是已经存在的节点则是移动到最后

    插入节点到目标节点的前面insertBefore()

    在节点前面插入,其中第二个参数是可选,如果第二个参数不写,将默认添加到文档的最后,相当于appendChild。

    同样,appendChild和insertBefore,如果是已存在节点,他们都会自动先删除原节点,然后移动到你指定的地方。

    复制节点cloneNode(boolean)

    node.cloneNode(true);

    node.cloneNode(false);

    复制上面的div节点,参数true,复制整个节点和里面的内容;false,只复制节点不要里面的内容,复制后的新节点,也不会被自动插入到文档,需要用到3和4的方法去插入。

    删除节点removeChild()

    不过一般情况下,不知道要删除的节点的父节点是什么,因此一般这么使:node.parentNode.removeChild(node);

    替换节点repalceChild(newNode, oldNode)

    设置节点属性setAttribute()

    node.setAttribute("title","abc");

    用这个方法设置节点属性兼容好,但class属性不能这么设置。

    获取节点属性getAttribute()

    node.getAttribute("title");

    判断元素是否有子节点hasChildNodes

    node.hasChildNodes;

    返回boolean类型,因此将新节点插入到最前面的技巧:

    相关文章

      网友评论

        本文标题:【百度】js基础任务2-二维数组,dom操作

        本文链接:https://www.haomeiwen.com/subject/drhaattx.html