</pre><p>在JavaScript中有多钟获取DOM元素的方法,常见的有getElementById、getElementsByName、getElementsByTagName、getElementsByClassName,分别是通过id、name、标签名和类名获取元素,注意只有第一个是Element,其他三个都是Elements,因为HTML中元素名必须唯一,其他则不必。下面就以获取网页input标签的ID为例:</p><p>1、</p><p>manifest.json:</p><p></p><pre name="code" class="html">{
"manifest_version":2,
"version":"1.0",
"name":"getid",
"description":"get elements'id",
"icons":{
"16":"images/icon16.png"
},
"content_scripts":[
{
"matches":["*://*/*"],
"js":["js/content.js"]
}
]
}
conten.js:
window.onload = function(){
var list=document.getElementsByTagName("input");
var strData;
for(var i=0;i<list.length && list[i];i++)
{
if(list[i].type == "text"&&list[i].id != "subEmail")
{
strData=list[i];
alert(strData.id);
}
}
}
加载插件成功后,重新载入页面,即可看到弹框显示的每个input的ID。
2、要是想通过页面间的通信来实现上面的功能:函数如下:
manifest.json:
{
"manifest_version":2,
"version":"1.0",
"name":"getid",
"description":"get elements'id",
"icons":{
"16":"images/icon16.png"
},
"background":{
"scripts":[
"js/background.js"
]
},
"content_scripts":[
{
"matches":["*://*/*"],
"js":["js/content.js"]
}
]
}
background.js:
/**
* Created by Administrator on 15-1-4.
*/
chrome.runtime.onMessage.addListener(function(message,sender,sendResponse){
alert("ID都有"+message);
});
content.js:
/**
* Created by Administrator on 15-1-4.
*/
window.onload = function(){
var list=document.getElementsByTagName("input");
var strData;
for(var i=0;i<list.length && list[i];i++)
{
if(list[i].type == "text"&&list[i].id != "subEmail")
{
strData=list[i];
chrome.runtime.sendMessage(strData.id);
}
}
}