Квадратные скобки возвращают определенный объект DOM из объекта/коллекции jQuery, а не объекта jQuery; который не выполняется, потому что собственный DOM-узел не имеет метода text()
. Таким образом, вместо этого, вы должны использовать:
$('.content').append('<br>' + $ispan.eq(i).text());
Proof of concept
Примечание, в связанном «проверка концепции,» что я измененном подход, чтобы добавить элементы, переключая его:
$ispan.eq(i).text('span ' + (i+1)).appendTo('.content').before('<br />');
Это связано с тем, что с подходом, написанным выше (который, как вы говорите, работает, в комментариях), на выходе было много [Object object]
в элементе .content
.
выше альтернатива находит соответствующий элемент в объекте JQuery, устанавливает свой текст, присоединяет его к элементу .content
затем вставляет <br />
перед прилагаемой элемент.
Кроме того, ваш исходный селектор должен быть надлежащим образом заменен на $('span')
, а не на чрезмерно сложный встроенный селектор DOM, обернутый jQuery.
Вы говорите, в комментариях в другом месте, что вы должны работать на «specific set» из span
элементов, которые я предполагаю, что именно поэтому вы используете for() {...}
, вы могли бы использовать вместо :gt()
:
var $ispan = $("span:gt(4)");
$ispan.text(function (i) {
return 'span ' + (i + 6);
}).appendTo('.content').before('<br />');
JS Fiddle demo.
Ссылки:
Начало заменой '$ (window.test.document.getElementsByTagName ("оболочка"));' 'от $ ('пролетных')' – sdespont