js运行机制以及如何动态获取input的值

JavaScript011

js运行机制以及如何动态获取input的值,第1张

最近在写一个手机APP,其中一个页面中onload加载的是一个函数A,经过这个函数处理,页面中的Input的value值会被  赋值,此时,函数B是一个定时函数,他需要获取这个input 的value值,然后定时执行,来更新这个input的value值。

当时学js的时候,没太注意js的程序加载顺序。现在无论如何也拿不到Input的value值,不管怎么写,都是空。由此也引出了如下的知识

1.js是单线程的,他的加载分成两部分,第一个部分是预处理,主要是操作声明式函数,就是function aaa(){} 这类和变量,虽然说处理,也只是拿出来,并没有赋值,赋值是第二阶段运行的。

2.如果要实现上述我们的目标,就需要,使用赋值式函数,即 var f=function(){} 这样操作,会被js拿到,然后处理。

3.要获得Input value的值,这个获取,不能写在函数外,需要写在函数内。因为写在外面,只会加载input的value原值,就是空值。写在里面,就走到了执行阶段。有了执行,就能够获取

可以把动态生成的元素的事件委托给固定的父元素(比如$("#selects"))去处理,这样的话不管动态添加多少元素,最终都会把事件冒泡给父元素,父元素再根据target对象获取事件的委托方并作出相应处理。具体请自行百度“事件委托”或“事件代理”。

1、JS获取表格的简便方法:获取tbody:tBodies 获取thead:tHead 获取tfoot:tFoot 获取行tr:rows 获取列td:cells

使用实例: oTable.tBodies[0] oTable.tHead[0] oTable.tFoot[0] oTable.rows[1] oTable.cells[1]

2、遍历

var oTable=document.getElementById("表格id")

oTable.tBodies[0]可以看成是rows和cells组成的二维数组,用两个for循环嵌套遍历一下就可以了