你没有指定你是如何解析的,但这在jQuery中是可能的,因为你可以确定窗口原点中任何元素的偏移位置。 Check out the example here.
代码:
$(function() {
function sameHorizon(obj1, obj2, tolerance) {
var tolerance = tolerance || 0;
var obj1top = obj1.offset().top;
var obj2top = obj2.offset().top;
return (Math.abs(obj1top - obj2top) <= tolerance);
}
$('p').each(function(i,obj) {
if ($(obj).css('margin-top').replace('px','') < 0) {
var p1 = $(obj).prev('p');
var p2 = $(obj);
var pTol = 4; // pixel tolerance within which elements considered aligned
if (sameHorizon(p1, p2, pTol)) {
// put what you want to do with these objects here
// I just highlighted them for example
p1.css('background','#cc0');
p2.css('background','#c0c');
// but you can manipulate their contents
console.log(p1.html(), p2.html());
}
}
});
});
这个代码是基于一个假设,如果一个<p>
具有负margin-top
然后尝试与以前<p>
排列,但如果你知道的jQuery应该显然如何改变它以符合不同的标准。
如果你不能为你的问题使用jQuery,那么希望这对其他谁是或者你可以在jQuery中设置一些东西来解析这个并输出新的标记是有用的。
听起来像一个“网络浏览器”的工作:) – 2010-06-01 21:09:58
你使用什么语言? PHP的? java吗? ... – laher 2010-06-01 21:10:10
@这个问题:hahahahahahahaha。我真的为你和这个要求感到难过。对不起的人:\ – Jason 2010-06-01 21:13:26