Создание переменной Javascript с помощью манипуляции jquery - PullRequest
1 голос
/ 11 февраля 2010

Мне нужно создать строковую переменную, используя jQuery, чтобы найти все текстовые узлы, окруженные тегами span. Важно отметить, что каждый сегмент текста должен разделяться символом «|».

Например, возьмите следующий html:

<div id="myDiv">
<span>this</span> <span>is</span> <span>the</span> <span>text</span>
</div>

Используя jQuery, мне нужно произвести следующее:

var my_variable = "this|is|the|text";

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

var my_variable = $("#myDiv").find("span").text() + '|';

Любая помощь будет принята с благодарностью.

Примечание. Чтобы удалить последний символ канала в конце строки, которую я собирался использовать:

my_new_variable = "my_variable.slice(0, -1)";

Ответы [ 3 ]

6 голосов
/ 11 февраля 2010

Вы можете использовать map() для элемента span, чтобы получить текст. В массивах Javascript есть метод join(), который помещает каналы между ними, но сначала вам нужно преобразовать ваш объект jQuery в массив Javascript. Для этого используйте $.makeArray().

var my_variable = $.makeArray($("#myDiv span").map(function() {
  return $(this).text();
})).join("|");
0 голосов
/ 11 февраля 2010
var pipeText="";

$('#myDiv span').each(function(){
  pipeText+=$(this).text() + "|";
});

pipeText = pipeText.slice(0, -1);
0 голосов
/ 11 февраля 2010
var strings = [];
$('#myDiv span').each(function(){
    strings.push($(this).text());
});
var my_variable = strings.join('|');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...