Как я могу получить текст внутри элемента с детьми, используя jQuery - PullRequest
1 голос
/ 25 июня 2009

У меня есть текст, хранящийся в переменной, которая содержит несколько тегов span.
Я хочу получить все содержимое внутри каждого промежутка сразу. Как я могу сделать это с помощью jQuery или javascript?

<htmlText>
    Researchthe university has been given a 5 star rating in the current Research Assessment Exercise. It is one of the UK's leading technological universities, specialising in research to provide solutions critical to industry, commerce and the healthcare, voluntary and public sectors.
    <span class="NBResult"></span><span class="NBResult">Data transmission speed</span>
    <span>, green fuels,small business marketing needs, European bureaucracy and the treatment </span>
    <span class="NBSearchTerm">of</span>
    <span> </span><span class="NBSearchTerm">cancer</span>
    <span> are all under investigation at the university. </span>
</htmlText>

Ответы [ 2 ]

4 голосов
/ 25 июня 2009

Обновление: Это решение было обновлено после дополнительных вопросов в комментариях:

Просто возьмите свойство .text () родительского селектора.

var myWords = "<span>I</span><span> </span><span>like</span><span> </span><span>words.</span>";

/* "I like words" */
alert($(myWords).find("span").text());
alert($("p.words span").text());

<p class="words">
  <span>I</span><span> </span><span>like</span><span> </span><span>words.</span>
</p>
0 голосов
/ 25 июня 2009

Если я правильно понимаю, сформируйте комментарии к ответу Джонатана со следующим HTML (хранится в переменной):

<div id='bla'>
    ASD
    <span>foo</span>
    sdf
    <span class='x'>bar</span>
</div>

Вы хотите получить:

<span>foo</span><span class='x'>bar</span>

Вы можете сделать это, используя:

var htmlStuff = '<div id="bla">etc.</div>'; //the HTML
var ret = new Array();
$(htmlStuff).find('#bla').children('span').each(function(){
     var x = $(this).wrap('<div></div>').parent().html();
     ret.push(x);
});
var spanString = x.join('');

Это, однако, довольно уродливо, и не будет работать правильно, когда вы будете делать это в DOM, потому что вы бы обернули все свои span в div. (Чтобы это работало в DOM, получите HTML-код div # bla, а затем используйте его как htmlStuff)

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