jQuery .load()不适用于新创建的DOM div元素

时间:2012-02-01 02:31:08

标签: javascript jquery google-chrome-extension

这是我的代码:

$(document).ready(function(){


    var searchDom = document.createElement('div');
    searchDom.className = "popContainer";
    searchDom.style.cssText = [
      'background-color: #ffd700;',
      'background-image: -webkit-repeating-linear-gradient(' +
          '45deg, transparent, transparent 35px,' +
          'rgba(0,0,0,.1) 35px, rgba(0,0,0,.1) 70px);',
      'color: #efefef;',
      'padding: 10px;',
      'font: 14px Arial;'
    ].join(' ');
    document.body.style.cssText = 'position: relative';
    document.body.parentElement.insertBefore(searchDom, document.body);


var greeting = "hola";
var button = document.getElementById("navSearch");
button.person_name = "Roberto";
button.addEventListener("keydown", function() {
$('.popContainer').load('popup.html');
alert(greeting);
}, false);
 });

所以基本上我正在创建一个名为“popContainer”的新DOM元素,并尝试在用户开始输入时将popup.html中的内容填充到它。这不起作用,我尝试使用.post但没有成功,我无法弄清楚是否以及如何在这里使用.live。

请注意,此文件是Chrome扩展程序的一部分,并且alert()可以正常工作。

1 个答案:

答案 0 :(得分:0)

我认为你的负载看起来应该是这样......

$('.popContainer').load(chrome.extension.getURL('popup.html'));

另外,这个问题可能对你有帮助......
With a chrome extension how can add html to just below the body tag of a page?