Загрузите внешний элемент с помощью .load () для родительского тега <a> - PullRequest
0 голосов
/ 08 апреля 2011

Я пытаюсь загрузить какой-то внешний контент, используя событие jQuery .load, и это нормально.моя проблема в том, что я пытаюсь выбрать / нацелить родительский элемент тега 'a', который содержит определенную строку текста ...

Мой текущий код выглядит следующим образом:

$('.actionlink').live('click',function() {
    $('<div id="info" />').load('/pageURLhere .container a:contains("string of text"):parent',
function() { 
     .......

В настоящее время код работает нормально, добавляя тег 'a', который содержит совпадающую строку - но ": parent", кажется, полностью игнорируется - он даже не нарушает сценарий.

Isэто просто для того, чтобы сложить комбинацию селекторов или моя установка неверна?

Структура внешней страницы примерно такая:

<div>
    <a href"#">string of text</a>
</div>

, и я хочу выбрать и загрузить в div, ноЯ могу настроить таргетинг только на тег «a» с помощью соответствующей строки.

1 Ответ

0 голосов
/ 08 апреля 2011

Я надеюсь, что ваша страница крошечная, потому что производительность этого селектора будет ужасной.Я бы сделал две вещи:

  1. Добавьте какой-то идентификатор к элементу, который вы хотите выбрать, вместо того, чтобы основывать его на контенте.Если вы знаете содержание, вы сможете добавить идентификатор и выбрать вместо него.
  2. Как только вы вернете источник, соедините ваши селекторы с операциями.Когда у вас есть загруженный элемент страницы, просто выполните обычную операцию против него, а не комбинируйте сложные селекторы заранее.

РЕДАКТИРОВАТЬ (дополнительная информация): Ваша проблема, вероятно, связана с тем, как jQuery создает страницуфрагменты: http://api.jquery.com/load/

Уверен, что к тому времени, когда он доберется до: parent уже выбрал контент, и у него больше нет родителя.

...