Lo que estás haciendo (que está mal) es esto:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<style>
div{ width:300px; height:25px; line-height:25px; border:1px solid #000; font-size:14px; padding:3px; margin-bottom:2px}
</style>
</head>
<body>
<div>uno</div>
<div>dos</div>
<div>tres</div>
<script type="text/javascript">
function GM_setValue(j,t){
//la agregamos para test fuera de GM
}
function fillt(i,e){
e.preventDefault();
if(document.getElementsByTagName('div')[i])
var juanito=document.getElementsByTagName('div')[i].innerHTML;
else{
alert('el índice '+i+' es inválido');
var juanito='Error';
}
GM_setValue(juanito,true);
alert("you've just untracked "+juanito);
}
var allElements=document.getElementsByTagName('div'),length=allElements.length;
for(var i=0;i<length;i++){
var a =document.createElement('a');
a.href='#';
a.innerHTML=allElements[i].innerHTML;
a.addEventListener('click' , function(e){fillt(i,e);}, false);
allElements[i].parentNode.insertBefore(a, allElements[i].nextSibling);
}
</script>
</body>
</html>
Lo que deberías hacer (por la razón que explica el enlace que te indiqué en mi post anterior) es esto:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<style>
div{ width:300px; height:25px; line-height:25px; border:1px solid #000; font-size:14px; padding:3px; margin-bottom:2px}
</style>
</head>
<body>
<div>uno</div>
<div>dos</div>
<div>tres</div>
<script type="text/javascript">
function GM_setValue(j,t){
//la agregamos para test fuera de GM
}
function fillt(i,e){
e.preventDefault();
if(document.getElementsByTagName('div')[i])
var juanito=document.getElementsByTagName('div')[i].innerHTML;
else{
alert('el índice '+i+' es inválido');
var juanito='Error';
}
GM_setValue(juanito,true);
alert("you've just untracked "+juanito);
}
var allElements=document.getElementsByTagName('div'),length=allElements.length;
for(var i=0;i<length;i++){
var a =document.createElement('a');
a.href='#';
a.innerHTML=allElements[i].innerHTML;
//a.addEventListener('click' , function(e){fillt(i,e);}, false);
(function(i){a.addEventListener('click' , function(e){fillt(i,e);}, false);})(i);
allElements[i].parentNode.insertBefore(a, allElements[i].nextSibling);
}
</script>
</body>
</html>
En este último código aparece comentada la línea errónea y la correcta debajo