Google chrome extension 简单无线电铬扩展

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

正在尝试设置收音机(是或否)默认值(是)生成chrome扩展。。。 看到很多其他帖子都有类似的错误

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);