2011-01-16 5 views
0

У меня есть функция, которая возвращает некоторые HTML как это:JQuery получить текст

return ("<span class='opt'>some text</span>"); 

Я использую его в функции обратного вызова успеха в $ .ajax:

$.ajax({ 
    url: uri, 
    cache: false, 
    success: function(html){ 
     $(tag).append(format(html)); 
    } 
}); 

html дают <span></span> элемент. Я хочу получить только текст без тегов. Я пробовал его с помощью формата (html) .text(), но он не работает. Есть идеи?

ответ

1

Если вы хотите, чтобы делать операции на JQuery строку HTML, использовать JQuery, чтобы преобразовать его первый:

var newContent = $(format(html)); // use the results of `format(html)` to make a jQuery selection 
$(tag).append(newContent.text()); // use the jQuery text method to get the text value of newContent 

See the API for an explanation of how this works.

3

$('<span class="opt">some text</span>').text() должен делать эту работу или в вашем случае:

$(tag).append($(format(html)).text()); 
+0

У вас отсутствует '()' после 'text'. Вы добавите часть исходного кода jQuery! – lonesomeday

+0

Yeap, только что понял и исправил это :-) –

0
$(tag).append($(format(html)).text()); 

Это займет текст «<span>...</span>», преобразовать его в объект JQuery, и извлечь текст, оставив позади тегов.

Смежные вопросы