Jquery 在尝试获取 div 文本时无法在 Chrome 扩展中工作

Jquery not working in Chrome Extension when trying to get div text

我有一个 google chrome 扩展,其中包含声明 Jquery:

的以下清单
"content_scripts": [{
      "matches": ["<all_urls>"],
      "js":      ["thirdParty/jquery.min.js","content.js"]
  }],

与 content.js

$(document).ready(function(){
    $("#title").html("JQUERY");
    alert($("#title").html);
});

和一个 html 其中我 运行 chrome 扩展它包含 div

<div id="title">test</div>

所以当我启动我的页面时,它会将 div 的文本从测试更改为 JQUERY,然后触发一个警报,显示 div 应该是 [=36] 的文本=].

它不显示 JQUERY 但是这个:

function (a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)}function (a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)}

您需要调用 $("#title").html() 而不是打印 $("#title").html 函数。

$(document).ready(function(){
    $("#title").html("JQUERY");
    alert($("#title").html());
});

$("#title").html("JQUERY"); 正确更改 HTML 因为您将字符串 "JQUERY" 传递给函数 html(param).

要检索 html-代码,您需要调用相同的方法,这次不带任何参数:alert($("#title").html());。这样,您不想改变函数的行为,而是希望获得其当前的 HTML 内容。

你的情况实际发生的是你正在输出函数 html()

的代码