我正在尝试使用jQuery获取所选对象的HTML.我知道这个.html()功能; 问题是我需要包含所选对象的HTML(在这种情况下是一个表行,其中.html()只返回行内的单元格).
我已经四处搜索并发现了一些克隆对象的非常"hackish"类型的方法,将它添加到新创建的div等等,但这看起来真的很脏.有没有更好的方法,或新版本的jQuery(1.4.2)是否提供任何类型的outerHtml功能?
在Javascript中按位置和元素的位置找到元素没有问题.但是有比较它们的一般方法吗?
我能想到的唯一方法是比较id或类名,但并非所有元素都有id或类名.
使用jQuery的"is"函数运行以下比较将返回false,因为DOM元素不完全相同,尽管在视觉上和功能上它们是相同的:
var $a = $('<div id="test" href="http://www.google.com"></div>');
var $b = $('<div href="http://www.google.com" id="test"></div>');
$a.is($b);//FALSE
Run Code Online (Sandbox Code Playgroud)
使用DOM对象的直接比较也将返回false.
请参阅运行示例:http://jsfiddle.net/6zqwn/5/
那么,有没有办法避免在比较时考虑属性的顺序?
(为什么我要问这个问题:我在跨浏览器单元测试中使用这些比较,其中不同的浏览器改变了属性的顺序,同时仍在功能上创建相同的DOM元素.)