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

标签 javascript jquery

当我调用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/

相关文章:

javascript - 检查输入 : expected dense_Dense5_input to have 4 dimension(s). 时出错,但得到形状为 5、2、5 的数组

javascript - 正则表达式 - 双方括号内的值

javascript - 附加到URL的"undefined"和"cache/xxx"

javascript - 当页面上有表单时运行/加载函数

javascript - 填充对话框后添加行

javascript - jquery 使用 $(this) 不起作用

javascript - WebRTC:强制对等方使用 TURN 服务器

javascript - 通过透明 div 传递点击和 jQuery 悬停的困境

javascript - 基于彼此显示两个下拉列表的项目

javascript - 让 Bootstrap 导航栏崩溃来触发 javascript?