首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“未捕获TypeError:无法使用content-script chrome扩展中的jQuery设置未定义的属性'left‘

“未捕获TypeError:无法使用content-script chrome扩展中的jQuery设置未定义的属性'left‘
EN

Stack Overflow用户
提问于 2012-06-16 12:13:06
回答 2查看 6.4K关注 0票数 2

我尝试使用jQuery来遍历要向其中注入代码的页面的DOM,但一直收到此错误。

我的清单文件是:

代码语言:javascript
运行
复制
{
  "name": "Jive enhancer",
  "version": "2.0.0",
  "description": "",
  "permissions": [
    "tabs", "http://*/*", "https://*/*"
  ],
  "icons": {
    "48" : "sample-48.png",
    "128" : "sample-128.png"
  },
  "content_scripts": [
    {
      "matches": ["https://*/*"],//just for the question
      "js": [
            "jquery-1.7.2.js",
                "contentscript.js"
                ]
    }
  ]
}

这是我的contentscript.js:

代码语言:javascript
运行
复制
function test () {
    console.log ("injected");
    $("j-comm-activity-list").style.left="100px";   
}

test();

我的contentscript注入到的页面有一个带有id的div:"j-comm-activity-list",但是由于某种原因,我一直收到这个错误。从控制台执行相同的命令就可以了。我是德佩尔特!

谢谢

EN

回答 2

Stack Overflow用户

发布于 2012-06-16 12:14:42

使用jQuery (大小)选择器,就像在CSS中一样,你用一个#来表示一个id。不带#的选择器$("j-comm-activity-list")正在搜索具有标记名称j-comm-activity-list的元素,而不是具有该id的元素。您希望使用jQuery ID Selector

jQuery对象也没有style属性。您可以使用像$("#j-comm-activity-list")[0] ($("#j-comm-activity-list").get(0)的简写形式)这样的数组表示法来获取所选的DOMElement。但更可取的做法是使用css等内置jQuery函数

代码语言:javascript
运行
复制
$("#j-comm-activity-list").css('left', 100);
票数 4
EN

Stack Overflow用户

发布于 2012-06-16 12:14:35

试试这个:

代码语言:javascript
运行
复制
$("#j-comm-activity-list").css('left', '100px') 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11060754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档