Получить текст, вложенный в элементы в jQuery - PullRequest
1 голос
/ 31 августа 2009

У меня есть такая структура DOM:

<span id="aa"><a id="bb">myname</a> test test test</span>

Я хочу иметь возможность выбрать #aa, а затем отделить #bb от текста "test test test", поскольку мне нужно выполнить некоторые строковые операции (заменить) текстом. Как выбрать только текст в этом случае? А затем, после операции замены строки, я хочу убедиться, что могу объединить ее обратно в #bb и в # aa.

Дайте мне знать, как лучше подойти. Спасибо

Ответы [ 3 ]

2 голосов
/ 31 августа 2009

Вы можете временно удалить элементы DOM:

$(function () {
  var $aa = $('#aa'),
      $bb = $('#bb');
  $bb.remove(); // remove bb
  $aa.text($aa.text().replace(/test/g, 'replaced')); // text manipulations on aa
  $bb.prependTo($aa); // restore the removed element
});

Функция remove удаляет элемент из DOM, но элементы все равно будут доступны в объекте jQuery, что позволит вам использовать его в дальнейшем.

Проверьте пример здесь .

1 голос
/ 31 августа 2009

Если я правильно вас понял, это то, что вы хотите сделать:

var bb = $('#bb');
var foo = bb.clone();
bb.remove();

// ... do whatever you like with #aa here

// restore #bb element
$('#aa').prepend(foo);

Если вы хотите изменить содержимое #bb, это еще проще:

var bb = $('#bb');
var text = bb.text();

// ... do whatever you like with text here

// save new text
bb.text(text);
0 голосов
/ 31 августа 2009

Вы можете получить доступ к содержимому bb, используя $ ('# bb'), а затем получить его содержимое следующим образом;

$bb('#bb').text();

Это отвечает на ваш вопрос?

Подробнее см. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...