对象不支持属性或方法' text'

时间:2016-07-05 13:35:32

标签: javascript jquery

当我致电setDefaultLocalPrinter()时,我在标题中收到错误。如果我像这样$("#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)
        });
    }

1 个答案:

答案 0 :(得分:4)

$(this)内使用each()

$(this).text(printerName);

this是纯JavaScript对象。它不能用于调用jQuery原型上定义的方法。 $(this) {j}包含在jQuery中,可以访问所有方法&amp;在jQuery原型上定义的属性。

如果您想使用纯JavaScript,

this
甚至不需要

this.textContent = printerName; ,可以使用选择器上的each直接设置textContent

text()