2012-07-18 4 views
0

Я пытаюсь найти точную копию html-кода в документе.Найти точный код 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. Я пытаюсь скопировать их в другое место путем перетаскивания. Я хочу убедиться, что копия еще не существует в месте перетаскивания

+0

Можете ли вы опубликовать больше кода и объяснить, какую часть этого кода вы хотите получить? – davidbuzatto

+0

У вас, похоже, слишком много символов '>' или недостаточно символов '<'. –

ответ

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/

+0

спасибо @rocket, но такой же результат – manoj

+0

@manoj: Что значит «тот же результат»? Какой результат вы хотите? –

+0

тот же результат, когда я запускаю запрос, который я разместил выше ... – manoj

1

Вы не можете использовать :contains, чтобы найти HTML, только текст.

Вы должны использовать поиск DOM, а не поиск текста. Этот код получает точный текст в теге <a>. Вы можете сравнить этот текст, чтобы увидеть, если это то, что вы искали:

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

Это позволит получить вам назначение делений от которых вы можете получить все, что еще вам нужно от этого. В зависимости от того, что вы действительно пытаетесь найти в этой области HTML, вышеупомянутое можно настроить, чтобы получить это.

Если есть несколько дивы назначения, то вы можете найти тот, который имеет нужный текст, например:

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

У меня есть несколько копий $("#tabs-1").find(".appointment[data-status='yes']"), поэтому вам нужно совместить внутренний текст и html также для нахождения точной копии. – manoj

+0

Просьба описать, какова реальная проблема, которую вы пытаетесь решить. Кроме того, я надеюсь, что у вас нет нескольких объектов '# tabs-1', поскольку это незаконный HTML. Когда у вас есть желаемый объект назначения, вы можете использовать JS, чтобы увидеть, соответствует ли текст тому, что вы хотите. Дело в том, что вы должны использовать инструменты DOM, а не HTML-текст. – jfriend00

+0

У меня есть несколько div с назначением класса с одинаковыми атрибутами в другом элементе контейнера div. Я пытаюсь скопировать их в другое место путем перетаскивания. Я хочу убедиться, что копия еще не существует в месте перетаскивания. Спасибо за вашу помощь. – manoj

Смежные вопросы