如何检索HTML变量的第一个div

时间:2014-03-04 01:43:19

标签: javascript jquery dom html

这是我的代码:

var htmlVar= $("<div id=\"foo\"><div id=\"bar\">Content</div></div>");
var firstDiv= htmlVar.find("div").first();

这不能正常工作,因为没有考虑真正的第一个div“foo”。我把htmlVar包装成另一个div:

var htmlVar= $("<div>" + "<div id=\"foo\"><div id=\"bar\">Content</div></div>" + "</div>");

但是这段代码很难看,而且我很确定有一些更简洁的方法可以做到这一点。

我还希望我的代码始终返回html var的第一个div,无论其结构如何。例如,它也应该为这种情况返回“foo”div:

var htmlVar= $("<html><body><div id=\"foo\">Content</div></body></html>");

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

var first = htmlVar[0];

var first = htmlVar.get(0);

答案 1 :(得分:1)

如果您有上一个示例中的HTML文档,则可以轻松运行:$('div:first')以获取页面上的第一个div。

您的第一个示例不起作用的原因是因为find命令看起来低于其当前元素。想想看,就像你在你家里,打开前门。你告诉电脑找到它看到的第一所房子。它会找到你的邻居家,因为它已经在你的房子里,看不到自己。希望这是有道理的。

答案 2 :(得分:0)

你试过拆分吗?

var htmlVar = $('<div />');
var newDiv = $('<div />').html('Content');
htmlVar.append(newDiv);

console.log(htmlVar.find('div:first'));