Javascriptの場合:Webページ内のすべてのリンクの座標(x、y、高さ、幅)をどのように見つけますか?
3709 次
4 に答える
3
jQuery を使用すると、次のように簡単になります。
$("a").each(function() {
var link = $(this);
var top = link.offset().top;
var left = link.offset().left;
var width = link.offset.width();
var height = link.offset.height();
});
于 2008-09-15T22:31:54.303 に答える
2
jquery なし:
var links = document.getElementsByTagName("a");
for(var i in links) {
var link = links[i];
console.log(link.offsetWidth, link.offsetHeight);
}
x と y の値を取得する機能については、このページを試してください 。
ただし、画像などを追加しようとしている場合は、a:after css セレクターを使用することをお勧めします。
于 2008-09-15T23:59:02.067 に答える
1
プレーンな JavaScript:
function getAllChildren (node, tag) {
return [].slice.call(node.getElementsByTagName(tag));
}
function offset(element){
var rect = element.getBoundingClientRect();
var docEl = doc.documentElement;
return {
left: rect.left + window.pageXOffset - docEl.clientLeft,
top: rect.top + window.pageYOffset - docEl.clientTop,
width: element.offsetWidth,
height: element.offsetHeight
};
}
var links = getAllChildren(document.body, 'a');
links.forEach(function(link){
var offset_node = offset(node);
console.info(offset_node);
});
于 2015-11-26T18:24:03.163 に答える
0
jQuery の場合:
$j('a').each( findOffset );
function findOffset()
{
alert
( 'x=' + $j(this).offset().left
+ ' y=' + $j(this).offset().top
+ ' width=' + $j(this).width()
+ ' height=' + $j(this).height()
);
}
于 2008-09-15T22:37:40.670 に答える