在html文档中找到一段确切的html代码

时间:2012-07-18 05:37:15

标签: jquery html

我试图在文档中找到html代码的精确副本。

我试过了

$("#tabs-1").find('div:contains(a)').html()

HTML:

<div class="appointment" data-status="yes">
    <a class="app">Yuri G.</a>
</div>

jquery是否为此提供任何功能,还是必须使用Regex?

更新:我有多个带有类约会的div,在不同的div容器元素中具有相同的属性。我试图通过拖放将它们复制到另一个地方。我想确保拖放地点中不存在副本

3 个答案:

答案 0 :(得分:1)

您无法使用:contains查找HTML,只能使用文字。

您应该使用DOM搜索,而不是文本搜索。此代码可为您提供<a>标记中的确切文本。然后,您可以比较该文本以查看它是否是您要查找的内容:

$("#tabs-1").find(".appointment[data-status='yes'] a.app").text();

这将为您提供预约div,您可以从中获得您需要的任何其他内容。根据您在HTML领域中真正想要找到的内容,可以通过调整上述内容来实现。

如果有多个约会div,那么您可以找到具有所需文本的div,如下所示:

$("#tabs-1").find(".appointment[data-status='yes'] a.app:contains(Yuri G.)")

答案 1 :(得分:1)

:contains用于文字,请尝试使用:has

$("#tabs-1").find('div:has(a)').html()

或者如果您希望将整个div作为字符串,则需要使用outerHTML

$("#tabs-1").find('div:has(a)').prop('outerHTML')

DEMO:http://jsfiddle.net/SupSA/

答案 2 :(得分:0)

尝试

$("#tabs-1").find('div:has(a:contains("Yuri G.").app)')

(见http://jsfiddle.net/DB9Xh/