js控制数组的所有样式

JavaScript09

js控制数组的所有样式,第1张

准备事件没有放在ready事件里面

<html>

<head>

<title>style改变样式</title>

</head>

<script src="js/jquery-1.10.1.min.js" type="text/javascript"></script>

<style type="text/css">

li{

font-size:12px

color:#000000

background:#f7f7f7

width:104px

height:33px

line-height:38px

float:left

list-style:none

text-align:center

margin-left:2px

}

</style>

<script type="text/JavaScript">

// document.getElementsByTagName("li")获取所有的li标签

$(document).ready(function(){

var len = document.getElementsByTagName("li")

alert(len)

//为每一个li设置事件和效果

for(var i=0i <len.lengthi++){

len [i].onmouseover = function(){

this.style.background="#777777"

}

len [i].onmouseout = function(){

this.style.background="#f7f7f7"

}

}

})

</script>

<body>

<ul>

<li>新闻</li>

<li>视频</li>

<li>小说</li>

</ul>

</body>

</html>

js数组是引用类型的值,我们直接将原数组赋值给新的变量,由于指针指向同一个内存地址,修改数组,原数组也会被修改。

如果不想原数组被修改,可以采用以下方法:

此时,再修改copyList的值,不会影响list的值。

es6的Array.from()和扩展语句也可以复制数组,而不会继续引用原数组。

基础用法链接:

slice

concat

Array.from()

... 扩展语句

List是一个对象数组,数组的表现为[,,,,],数组中的每个元素以“,”隔开。List中仅有一个元素--{"id":"ID00001","name":"一二三四","guig":"100ml","shl":"2","dj":"10","je":"20"}。

但由于实际操作中List可能包含不止一个元素,所以这里并不推荐使用List[0]。

//根据id找到数组中某个元素

function findById(id) {

    for(var i in List) {

        if(List[i].id == id) {

             return List[i]          

        }

    }

    //return null//这里不return,未在数组中找到时返回undefined

}

/*

 * 1、编写函数removeElement,直接编写方法remove()可能会与某些浏览器冲突。

 * 而delete是关键字,表示删除某个属性。下面将会用到

 */

function removeElement(id) {

    var obj = findById(id)

    if(!obj) {

        return//未找到元素直接结束方法

    }

    delete obj.id

    delete obj.name

    delete obj.shl 

}

/*

 * 2、编写函数editElement

 */

 function editElement(id, name) {

     var obj = findById(id)

     if(!obj) {

        return//未找到元素直接结束方法

     }

     obj.name = name

 }

 

 /*

  * 当然还有另外一种方法去修改元素

  */

  //将源对象的属性覆盖到目标对象

 function extend(target, source) {

    for (var p in source) {

        if (source.hasOwnProperty(p)) {

            target[p] = source[p]

        }

    }

    return target

 }

 

/*

 * 2、编写函数editElement

 * src = {"id":"ID00001","name":"四五六七","guig":"200ml","shl":"3","dj":"10","je":"20"}

 */

 function editElement(src) {

     //判断是否是对象

     f(typeof obj=="object") {

         return

     }

     var obj = findById(src.id)

     if(!obj) {

        return//未找到元素直接结束方法

     }

     extend(obj, src)

 }