Google chrome extension 简单无线电铬扩展
正在尝试设置收音机(是或否)默认值(是)生成chrome扩展。。。 看到很多其他帖子都有类似的错误Google chrome extension 简单无线电铬扩展,google-chrome-extension,Google Chrome Extension,正在尝试设置收音机(是或否)默认值(是)生成chrome扩展。。。 看到很多其他帖子都有类似的错误 Cannot read property 'setAttribute' of null 但解决办法是: document.getElementById('Yes').checked = "checked"; 不适合我 提前谢谢你的帮助 Manifest.json { "manifest_version": 2, "name": "Yest or No", "descriptio
Cannot read property 'setAttribute' of null
但解决办法是:
document.getElementById('Yes').checked = "checked";
不适合我
提前谢谢你的帮助
Manifest.json
{
"manifest_version": 2,
"name": "Yest or No",
"description": "Yes or No",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"background": {
"scripts": ["jQuery-v1.10.0.js", "script.js"],
"persistent": false
},
"permissions": [
"tabs",
"http://*/*",
"https://*/*"
]
}
Popup.html
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br">
<head>
</head>
<head>
<title>Yes or No</title>
<script src="jQuery-v1.10.0.js"></script>
<script src="script.js"></script>
</head>
<body>
</body>
</html>
test.html
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<div style="padding-top: 5px">
<span style="font-size:12px">
<input type="radio" name="FotoPadrao" id="Yes" value="1"> Yes
<input type="radio" name="FotoPadrao" id="No" value="0"> No
</span>
</div>
</body>
对
不
我直接跳到答案;您需要在HTML中添加一个单选按钮,但首先,让我们看看您的代码
由于使用jquery,因此不需要执行document.getElementById,因此可以使用jquery选择器
$("#radio").prop('checked',true);
此代码段将检查id为“radio”的单选按钮
您发布的代码没有单选按钮,这就是您出错的原因:当getElementById试图查找您的输入时,它没有检测到它,因此返回null。Javascript无法更改null对象的属性,因此抛出异常,从而停止代码
下面是一段应该是怎样的:
我建议您在此处阅读HTML和jquery:
它包含了入门所需的大量资源
编辑:我更新了小提琴,以考虑到丢失的html文件
问题可能来自这样一个事实:您试图设置的元素id与脚本不在同一个文件中我必须在content\u脚本中添加纯java脚本。。。代码已更新 对不起,我正在使用test.html文件。。。是的,不,谢谢。。。我真正想做的是从一个网页上读取一个是或否的收音机,并在$(document)上设置为true。ready事件…我认为问题是test.html文件没有脚本的脚本。ksit不应该有。。。我的测试是如此的模拟我需要检查的真实形式…你能在JSFIDLE中进行设置吗?(只有脚本和页面)这样我可以更好地看到什么是错误的,所以我需要添加一个内容脚本?您还没有解释您实际上要做什么。我们得到的唯一迹象表明,您希望与网页进行交互,这是您发表的评论(问题中没有任何内容)。但是,是的,如果你想与网页交互,你必须使用内容脚本。如果您想与您的
浏览器\u操作
弹出窗口进行交互,则不需要,您不需要使用内容脚本。谢谢。。。我真正想做的是从网页上读一个是或否的收音机,然后在$(document.ready)事件上将其设置为true…然后您将需要知道这是直接相关的。您不应该编辑此问题来显著更改它。一旦你有了回答你所写问题的答案(问题中的内容与网页无关),你就不应该对问题做出如此重大的改变。如果你的问题不清楚,你可以澄清。但是,在这种情况下,您的问题很明显是试图在浏览器\u操作
弹出窗口中设置单选按钮,即使这不是您真正想要的。我恢复您的编辑有两个原因:1)答案应该包含在答案中。如果您自己找到了解决方案,我们鼓励您回答自己的问题。2) 您所做的更改足以使其无效。虽然鼓励您对问题进行澄清,但您不应将其更改为另一个问题,从而使已提供的答案无效。如果你愿意,我们也欢迎你提出一个新问题,它能更好地描述你真正的问题
$("#radio").prop('checked',true);