0

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

我试过了

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

HTML:

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

jquery 是否为此提供任何功能,还是我必须使用正则表达式?

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

4

3 回答 3

1

您不能使用:contains查找 HTML,只能查找文本。

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

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

这将为您提供约会 div,您可以从中获得所需的任何其他内容。根据您在 HTML 的那个区域中真正想要找到的内容,可以调整上面的内容来获得它。

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

$("#tabs-1").find(".appointment[data-status='yes'] a.app:contains(Yuri G.)")
于 2012-07-18T05:40:01.520 回答
1

:contains用于文本,请尝试:has改用。

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

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

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

演示:http: //jsfiddle.net/SupSA/

于 2012-07-18T05:42:03.393 回答
0

尝试

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

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

于 2012-07-18T06:04:07.190 回答