当我调用setDefaultLocalPrinter()
时,我在标题中收到错误。如果我像这样通过 ID 来调用跨度 $("#spanId").text("test")
那么它可以工作,但它不会像下面那样工作
<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)
});
}
最佳答案
在each()
内使用$(this)
。
$(this).text(printerName);
this
是纯 JavaScript 对象。它不能用于调用 jQuery 原型(prototype)上定义的方法。 $(this)
是封装在 jQuery 中的 this
,它可以访问 jQuery 原型(prototype)上定义的所有方法和属性。
如果您想使用纯 JavaScript,
this.textContent = printerName;
<小时/>
each
甚至不需要,textContent
可以直接使用选择器上的 text()
设置。
$('span[id^="defaultLocalPrinterName"]').text(printerName);
关于javascript - 对象不支持属性或方法 'text',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38204921/