我想写一个浏览器插件,在按下某个键后可以在所有可用连接上显示一个标签我是这样实现的:创建p元素,并添加到body子节点中
现在的问题是,按下键后标签确实创建了,但是不能显示出来。而如果我把元素添加到可用链接的子节点中,则可以显示出来,但是会继承上层的样式,这和我的初衷有差别。。我是网页开发小白,求教各位大大这怎么弄??部分代码如下:window.addEventListener('keyup',hehe,false)
var a = new Array();
if (key == 70 ){ //judging if pressed 'f'
a = document.getElementsByTagName("a")
for (var i=0;i<a.length;i++){
top = a[i].offsetTop;
left = a[i].offsetLeft;
//创建标签
var tag = document.createElement("p");
document.body.appendChild(tag);
tag.style.position = "absolute";
tag.style.top = top;
tag.style.left = left;
}
}JavaScript
现在的问题是,按下键后标签确实创建了,但是不能显示出来。而如果我把元素添加到可用链接的子节点中,则可以显示出来,但是会继承上层的样式,这和我的初衷有差别。。我是网页开发小白,求教各位大大这怎么弄??部分代码如下:window.addEventListener('keyup',hehe,false)
var a = new Array();
if (key == 70 ){ //judging if pressed 'f'
a = document.getElementsByTagName("a")
for (var i=0;i<a.length;i++){
top = a[i].offsetTop;
left = a[i].offsetLeft;
//创建标签
var tag = document.createElement("p");
document.body.appendChild(tag);
tag.style.position = "absolute";
tag.style.top = top;
tag.style.left = left;
}
}JavaScript
var obj = XX;
while(obj != "none") {
top = top.offsetTop;
obj = obj.offsetParent;
}
错了,是
var top = 0;
var obj = XX;
while(obj != null) {
top += top.offsetTop;
obj = obj.offsetParent;
}
var a = new Array();
if (key == 70 ){ //judging if pressed 'f'
a = document.getElementsByTagName("a")
for (var i=0;i<a.length;i++){
top = a[i].offsetTop;
left = a[i].offsetLeft;
//创建标签
var tag = document.createElement("p");
document.body.appendChild(tag);
tag.style.position = "absolute";
tag.style.top = top;
tag.style.left = left;
tag.style.height =100px;
tag.style.width =100px;
tag.style.background = 'black'; }
}用这个就行了
原来是style.top设置的时候只有数字,没加'px'……