Javascript 无法在href标记上定义单击事件

Javascript 无法在href标记上定义单击事件,javascript,html,greasemonkey,userscripts,tampermonkey,Javascript,Html,Greasemonkey,Userscripts,Tampermonkey,我正在尝试在我的脚本中为锚定标记编写一个单击事件 var contentTag = document.getElementsByTagName("pre")[0]; var fileContents = contentTag.innerHTML; contentTag.innerHTML = ""; var lines = fileContents.split("\n"); window.alert("Number of lines:"+lines.length); for(var i=

我正在尝试在我的脚本中为锚定标记编写一个单击事件

var contentTag = document.getElementsByTagName("pre")[0];
var fileContents = contentTag.innerHTML;

contentTag.innerHTML = "";

var lines = fileContents.split("\n");
window.alert("Number of lines:"+lines.length);


for(var i=0; i<20; i++) {
if(i!==15)
 contentTag.innerHTML+=(lines[i]+"<br>");
else {
    contentTag.innerHTML+=("<a id=link1>Click me</a>");
    var link = document.getElementById('link1');
    link.addEventListener("click", function() {
        window.alert('I am clicked');
    }, false);
}
}
var contentTag=document.getElementsByTagName(“pre”)[0];
var fileContents=contentTag.innerHTML;
contentTag.innerHTML=“”;
var line=fileContents.split(“\n”);
窗口.警报(“行数:+行.长度”);

对于(var i=0;i应该是
contentTag.innerHTML+=(“点击我”);
应该是
contentTag.innerHTML+=(“点击我”);
应该是
contentTag.innerHTML+=(“点击我”);
应该是
contentTag.innerHTML+=(“点击我”);
<

<script>
var contentTag = document.getElementsByTagName("pre")[0];
var fileContents = contentTag.innerHTML;

contentTag.innerHTML = "";

var lines = fileContents.split("\n");
window.alert("Number of lines:"+lines.length);

for(var i=0; i<20; i++) {
if(i!==15)
 contentTag.innerHTML+=(lines[i]+"<br>");
else {
    contentTag.innerHTML+=("<a id=link"+i+">Click me</a>");
    var link = document.getElementById('link'+i);
    var att=document.createAttribute('onclick');
    att.value="alert('Clicked !')";
    link.setAttributeNode(att);
}
}
</script>

var contentTag=document.getElementsByTagName(“pre”)[0];
var fileContents=contentTag.innerHTML;
contentTag.innerHTML=“”;
var line=fileContents.split(“\n”);
窗口.警报(“行数:+行.长度”);
对于(var i=0;i尝试以下方法:

<script>
var contentTag = document.getElementsByTagName("pre")[0];
var fileContents = contentTag.innerHTML;

contentTag.innerHTML = "";

var lines = fileContents.split("\n");
window.alert("Number of lines:"+lines.length);

for(var i=0; i<20; i++) {
if(i!==15)
 contentTag.innerHTML+=(lines[i]+"<br>");
else {
    contentTag.innerHTML+=("<a id=link"+i+">Click me</a>");
    var link = document.getElementById('link'+i);
    var att=document.createAttribute('onclick');
    att.value="alert('Clicked !')";
    link.setAttributeNode(att);
}
}
</script>

var contentTag=document.getElementsByTagName(“pre”)[0];
var fileContents=contentTag.innerHTML;
contentTag.innerHTML=“”;
var line=fileContents.split(“\n”);
窗口.警报(“行数:+行.长度”);
对于(var i=0;i尝试以下方法:

<script>
var contentTag = document.getElementsByTagName("pre")[0];
var fileContents = contentTag.innerHTML;

contentTag.innerHTML = "";

var lines = fileContents.split("\n");
window.alert("Number of lines:"+lines.length);

for(var i=0; i<20; i++) {
if(i!==15)
 contentTag.innerHTML+=(lines[i]+"<br>");
else {
    contentTag.innerHTML+=("<a id=link"+i+">Click me</a>");
    var link = document.getElementById('link'+i);
    var att=document.createAttribute('onclick');
    att.value="alert('Clicked !')";
    link.setAttributeNode(att);
}
}
</script>

var contentTag=document.getElementsByTagName(“pre”)[0];
var fileContents=contentTag.innerHTML;
contentTag.innerHTML=“”;
var line=fileContents.split(“\n”);
窗口.警报(“行数:+行.长度”);
对于(var i=0;i尝试以下方法:

<script>
var contentTag = document.getElementsByTagName("pre")[0];
var fileContents = contentTag.innerHTML;

contentTag.innerHTML = "";

var lines = fileContents.split("\n");
window.alert("Number of lines:"+lines.length);

for(var i=0; i<20; i++) {
if(i!==15)
 contentTag.innerHTML+=(lines[i]+"<br>");
else {
    contentTag.innerHTML+=("<a id=link"+i+">Click me</a>");
    var link = document.getElementById('link'+i);
    var att=document.createAttribute('onclick');
    att.value="alert('Clicked !')";
    link.setAttributeNode(att);
}
}
</script>

var contentTag=document.getElementsByTagName(“pre”)[0];
var fileContents=contentTag.innerHTML;
contentTag.innerHTML=“”;
var line=fileContents.split(“\n”);
窗口.警报(“行数:+行.长度”);

对于(var i=0;i来说,这是添加HTML的方式,在下一次迭代中执行此操作时,将重新结束链接

link.innerHTML += something
因此,事件处理程序将丢失,实际上,您可以通过将事件处理程序添加到最后一个元素来执行此操作。
如果您使用正确的方法创建元素并附加它们,那么效果会很好

var contentTag = document.getElementsByTagName("pre")[0];
var fileContents = contentTag.innerHTML;

contentTag.innerHTML = "";
var lines = fileContents.split("\n");

for (var i = 0; i < 20; i++) {
    if (i !== 15) {
        var txt = document.createTextNode(lines[i] || ''),
            br  = document.createElement('br');
        contentTag.appendChild(txt);
        contentTag.appendChild(br);
    } else {
        var link = document.createElement('a');
        link.id = 'link1';
        link.innerHTML = 'Click me';
        link.addEventListener("click", function () {
            alert('clicked')
        }, false);

        contentTag.appendChild(link)

    }
}
var contentTag=document.getElementsByTagName(“pre”)[0];
var fileContents=contentTag.innerHTML;
contentTag.innerHTML=“”;
var line=fileContents.split(“\n”);
对于(变量i=0;i<20;i++){
如果(i!==15){
var txt=document.createTextNode(行[i]| |“”),
br=document.createElement('br');
contentTag.appendChild(txt);
contentTag.appendChild(br);
}否则{
var link=document.createElement('a');
link.id='link1';
link.innerHTML='单击我';
link.addEventListener(“单击”),函数(){
警报('单击')
},假);
contentTag.appendChild(链接)
}
}

这是您添加HTML的方式,在下一次迭代中执行此操作时,您正在重新添加链接

link.innerHTML += something
因此,事件处理程序将丢失,实际上,您可以通过将事件处理程序添加到最后一个元素来执行此操作。
如果您使用正确的方法创建元素并附加它们,那么效果会很好

var contentTag = document.getElementsByTagName("pre")[0];
var fileContents = contentTag.innerHTML;

contentTag.innerHTML = "";
var lines = fileContents.split("\n");

for (var i = 0; i < 20; i++) {
    if (i !== 15) {
        var txt = document.createTextNode(lines[i] || ''),
            br  = document.createElement('br');
        contentTag.appendChild(txt);
        contentTag.appendChild(br);
    } else {
        var link = document.createElement('a');
        link.id = 'link1';
        link.innerHTML = 'Click me';
        link.addEventListener("click", function () {
            alert('clicked')
        }, false);

        contentTag.appendChild(link)

    }
}
var contentTag=document.getElementsByTagName(“pre”)[0];
var fileContents=contentTag.innerHTML;
contentTag.innerHTML=“”;
var line=fileContents.split(“\n”);
对于(变量i=0;i<20;i++){
如果(i!==15){
var txt=document.createTextNode(行[i]| |“”),
br=document.createElement('br');
contentTag.appendChild(txt);
contentTag.appendChild(br);
}否则{
var link=document.createElement('a');
link.id='link1';
link.innerHTML='单击我';
link.addEventListener(“单击”),函数(){
警报('单击')
},假);
contentTag.appendChild(链接)
}
}

这是您添加HTML的方式,在下一次迭代中执行此操作时,您正在重新添加链接

link.innerHTML += something
因此,事件处理程序将丢失,实际上,您可以通过将事件处理程序添加到最后一个元素来执行此操作。
如果您使用正确的方法创建元素并附加它们,那么效果会很好

var contentTag = document.getElementsByTagName("pre")[0];
var fileContents = contentTag.innerHTML;

contentTag.innerHTML = "";
var lines = fileContents.split("\n");

for (var i = 0; i < 20; i++) {
    if (i !== 15) {
        var txt = document.createTextNode(lines[i] || ''),
            br  = document.createElement('br');
        contentTag.appendChild(txt);
        contentTag.appendChild(br);
    } else {
        var link = document.createElement('a');
        link.id = 'link1';
        link.innerHTML = 'Click me';
        link.addEventListener("click", function () {
            alert('clicked')
        }, false);

        contentTag.appendChild(link)

    }
}
var contentTag=document.getElementsByTagName(“pre”)[0];
var fileContents=contentTag.innerHTML;
contentTag.innerHTML=“”;
var line=fileContents.split(“\n”);
对于(变量i=0;i<20;i++){
如果(i!==15){
var txt=document.createTextNode(行[i]| |“”),
br=document.createElement('br');
contentTag.appendChild(txt);
contentTag.appendChild(br);
}否则{
var link=document.createElement('a');
link.id='link1';
link.innerHTML='单击我';
link.addEventListener(“单击”),函数(){
警报('单击')
},假);
contentTag.appendChild(链接)
}
}

这是您添加HTML的方式,在下一次迭代中执行此操作时,您正在重新添加链接

link.innerHTML += something
因此,事件处理程序将丢失,实际上,您可以通过将事件处理程序添加到最后一个元素来执行此操作。
如果您使用正确的方法创建元素并附加它们,那么效果会很好

var contentTag = document.getElementsByTagName("pre")[0];
var fileContents = contentTag.innerHTML;

contentTag.innerHTML = "";
var lines = fileContents.split("\n");

for (var i = 0; i < 20; i++) {
    if (i !== 15) {
        var txt = document.createTextNode(lines[i] || ''),
            br  = document.createElement('br');
        contentTag.appendChild(txt);
        contentTag.appendChild(br);
    } else {
        var link = document.createElement('a');
        link.id = 'link1';
        link.innerHTML = 'Click me';
        link.addEventListener("click", function () {
            alert('clicked')
        }, false);

        contentTag.appendChild(link)

    }
}
var contentTag=document.getElementsByTagName(“pre”)[0];
var fileContents=contentTag.innerHTML;
contentTag.innerHTML=“”;
var line=fileContents.split(“\n”);
对于(变量i=0;i<20;i++){
如果(i!==15){
var txt=document.createTextNode(行[i]| |“”),
br=document.createElement('br');
contentTag.appendChild(txt);
contentTag.appendChild(br);
}否则{
var link=document.createElement('a');
link.id='link1';
link.innerHTML='单击我';
link.addEventListener(“单击”),函数(){
警报('单击')
},假);
contentTag.appendChild(链接)
}
}

我要在innerHTML中添加内容,所以我必须将所有内容都添加到Quotes中我要在innerHTML中添加内容,所以我必须将所有内容都添加到Quotes中我要在innerHTML中添加内容,所以我必须将所有内容都添加到Quotes中这部作品放在小提琴上。但它不在我的脚本上我不知道哦,猴子行得通,但这应该在任何地方都行吗?这个