我目前正在尝试选择以MTG_INSTR开头的所有跨度,后跟一个数字(MTG_INSTR1,MTG_INSTR2等)。我已尝试过jquery并编辑文本以使用
进行测试var elements = document.querySelectorAll("[id^=MTG_INSTR$]");
for (var i = 0; i < elements.length; i++)
{
var text = elements[i].innerHTML;
alert(text);
}
但是没有发生任何事情都没有奏效。我也尝试过使用querySelectorAll
<div id="win0divMTG_INSTR$2">
<span class="PSLONGEDITBOX" id="MTG_INSTR$2">EXAMPLE NAME</span>
</div>
也没有用。我正在尝试为我们学校的课程搜索页面执行此操作,并收集所有教师的名称以进行Chrome扩展。这是我第一次尝试使用chrome扩展,如果重要的话,我会在content_script.js文件中使用这个部分,并且相应的span / parent div的HTML示例是
"background": {
"scripts": [
"jquery.js",
"background.js"]
"persistent": false
},
"content_scripts": [
{
"matches":[
"css": ["content_script.css"],
"js": ["jquery.js", "content_script.js"]
}
]
此外,这是我的manifest.json的一部分,其中包含我下载的jquery.js,并放在与其他文件相同的文件夹中。
public interface ITestData{}
public class BarcodelData : ITestData
{
public int Id { get; set; }
}
答案 0 :(得分:0)
可能在您的扩展程序中未正确配置jquery。您也可以尝试使用原生document.getElementById。
答案 1 :(得分:0)
$ 不是HTML中 id 的有效属性字符。删除$,符号,它们将开始工作。
我已经测试过了。
<div id="win0divMTG_INSTR$2">
<span class="PSLONGEDITBOX" id="MTG_INSTR2">EXAMPLE NAME</span>
<span class="PSLONGEDITBOX" id="MTG_INSTR3">EXAMPLE NAME</span>
</div>
<script>
var elements = document.querySelectorAll("[id^=MTG_INSTR]");
console.log(elements);
/*for (var i = 0; i < elements.length; i++) {
var text = elements[i].innerHTML;
alert(text);
}*/
</script>
输出
[span#MTG_INSTR2.PSLONGEDITBOX, span#MTG_INSTR3.PSLONGEDITBOX]
希望这会有所帮助......