2016-07-05 4 views
0

Я получаю сообщение об ошибке в названии, когда я звоню setDefaultLocalPrinter(). Если я вызываю Span B у его ID, как этот $("#spanId").text("test") то он работает, но он не работает, как нижеОбъект не поддерживает свойство или метод 'text'

<span id="defaultLocalPrinterName<c:out value="${entry.index}"/>">Printer</span> 

function setDefaultLocalPrinter(printerName) { 
     console.log("setDefaultLocalPrinter: " + printerName) 
     $('span[id^="defaultLocalPrinterName"]').each(function(){ 
      this.text(printerName) 
     }); 
    } 

ответ

4

Использование $(this) внутри each().

$(this).text(printerName); 

this - это простой объект JavaScript. Его нельзя использовать для вызова метода, который определен в прототипе jQuery. $(this) - this, завернутый в jQuery, который имеет доступ ко всем методам & свойствам, определенным на прототипе jQuery.

Если вы хотите использовать обычный JavaScript,

this.textContent = printerName; 

each даже не нужна, textContent можно непосредственно установить с помощью text() на селекторе.

$('span[id^="defaultLocalPrinterName"]').text(printerName); 
+1

Благодарим Район, за исправление. :) – Tushar

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