要取另一页上的内容前题是:这一页(a)和另一页(b)已经打开
a b 都打开时,它们之前存在一定的联系
所以我们可以根据这个联系来通过a访问b
比如说 ab都在主页的框架中
<frame name="af" src="a">
<frame name="bf" src="b">
a可能通过 parentframes[bf]documentgetElementById(div的id);
再比如说b在a 的包含之下
<frame id ="bf"name="bf" src="b">
那就直接bfdocument
再比如说a是被bd出的
那就用openerdocument
获取页面中元素到文档区域document的横向 纵向坐标的两种方法及其比较
在js控制元素运动的过程中 对于页面元素坐标位置的获取是经常用到的 这里主要总结下两种方法
一 通过叠加元素对象和它的offsetParent(如果存在)的offsetLeft/offsetTop属性来实现
在阅读javascript高级程序设计第三版DOM部分时 了解到要获取某个元素在页面上的偏移量 需要将这个元素的offsetLeft和offsetTop与其offsetParent的相同属性相加 一直循环直至根元素 所以 要得到元素到文档区域的坐标位置 只需通过while循环不断获取offsetParent的offsetLeft/offsetTop直到offsetParent = null为止
js代码
代码如下:
// 获取元素到文档区域的坐标
function getPosition(element) {
var actualLeft = element offsetLeft
actualTop = element offsetTop
current = element offsetParent; // 取得元素的offsetParent
// 一直循环直到根元素
while (current !== null) {
actualLeft += current offsetLeft;
actualTop += current offsetTop;
current = current offsetParent;
}
// 返回包含left top坐标的对象
return {
left: actualLeft
top: actualTop
};
}
例子截图
firebug下测试结果截图 (注 其他浏览器已通过测试!)
二 通过 getBoundingClientRect() 方法实现
getBoundingClientRect方法用于获得页面中某个元素的左 上 右和下分别相对浏览器视窗window的位置 返回的是一个对象 该对象有四个属性 top left right bottom;该方法原本是IE Only的 但是FF +和Opera +已经支持了该方法 可以说在获得页面元素位置上效率有很大的提高 另外 该方法避免使用while循环 而是直接获取数值来实现 比第一种方法性能要好 特别是在复杂的页面上更为明显
js代码
代码如下:
// 获取元素到文档区域的坐标
function getPosition(element){
var dc = document
rec = element getBoundingClientRect()
_x = rec left // 获取元素相对浏览器视窗window的左 上坐标
_y = rec top;
// 与或body元素的滚动距离相加就是元素相对于文档区域document的坐标位置
_x += dc documentElement scrollLeft || dc body scrollLeft;
_y += dc documentElement scrollTop || dc body scrollTop;
return {
left: _x
top: _y
};
}
经测试 该方法与第一种方法获取元素相对于document的坐标大小相同 对于IE低版本浏览器 存在一些差异
注意 记得要累加上(IE除外)或body(针对IE)元素的水平或垂直滚动距离!
lishixinzhi/Article/program/Java/JSP/201311/20207
通过函数参数this,将自身传递给函数。从而获取对象的name与id属性。具体代码如下:
<script language=javascript>
function temp(get_obj)
{
alert(get_objname);
alert(get_objid);
}
</script>
<body>
<input type="button" name="n1" id="bu1" value="第一个" onclick=temp(this)>
<input type="button" name="n2" id="bu2" value="第二个" onclick=temp(this)>
<input type="button" name="n3" id="bu3" value="第三个" onclick=temp(this)>
</body>
测试可用。
js可以通过文本所在标签的id获取该标签对象,然后修改其内容,如:
documentgetElementById('标签id')innerHTML
=
'要修改的文本内容';
该方法可以在要修改的文本内容中加html标签,如果只是纯文本的话,
可以使用innerText,
documentgetElementById('标签id')innerText=
'要修改的文本内容';
以上就是关于js文件中某函数需要读取另一个页面上的div元素的值,该用什么方法才可以取到那个页面上的div的值全部的内容,包括:js文件中某函数需要读取另一个页面上的div元素的值,该用什么方法才可以取到那个页面上的div的值、js获取元素到文档区域document的坐标方法、JavaScript :怎么获得页面元素的id和name值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)