此函数的javascript等价于jquery

此函数的javascript等价于jquery,javascript,Javascript,在动态生成的“ol”中: 我可能弄错了,但这就是你要找的吗 var elements = document.getElementsByTagName('li'); for (var i = 0; i < elements.length; i++) { elements[i].addEventListener('click', function (e) { $("#clickedLi").text(e.srcElement.id); }); } var e

在动态生成的“ol”中:


我可能弄错了,但这就是你要找的吗

var elements = document.getElementsByTagName('li');

for (var i = 0; i < elements.length; i++) {
    elements[i].addEventListener('click', function (e) {
        $("#clickedLi").text(e.srcElement.id);
    });
}
var elements=document.getElementsByTagName('li');
对于(var i=0;i
它向每个
li
元素追加一个名为
addEventListener
的事件

在每个
li
元素中,都有一个
click
事件,该事件作为一个参数给出,其中包含
li
单击的
id


演示:

我可能弄错了,但这就是你要找的吗

var elements = document.getElementsByTagName('li');

for (var i = 0; i < elements.length; i++) {
    elements[i].addEventListener('click', function (e) {
        $("#clickedLi").text(e.srcElement.id);
    });
}
var elements=document.getElementsByTagName('li');
对于(var i=0;i
它向每个
li
元素追加一个名为
addEventListener
的事件

在每个
li
元素中,都有一个
click
事件,该事件作为一个参数给出,其中包含
li
单击的
id

演示:

试试这个:

function createfunc(i) {
    return function() { alert(i); };
}
for (i = 0; i < len; i++){
    var newLi = document.createElement("li");
    var link = document.createElement('a');
    link.href = "#"; 
    link.innerHTML ="test"
    newLi.appendChild(link);
    // just add onclick event; use createFunc to create function closure (otherwise 'i' would always be the last 'i'
    newLi.onclick = createfunc(i);

    olnew[0].appendChild(newLi);
}
函数createfunc(i){
返回函数(){alert(i);};
}
对于(i=0;i
试试这个:

function createfunc(i) {
    return function() { alert(i); };
}
for (i = 0; i < len; i++){
    var newLi = document.createElement("li");
    var link = document.createElement('a');
    link.href = "#"; 
    link.innerHTML ="test"
    newLi.appendChild(link);
    // just add onclick event; use createFunc to create function closure (otherwise 'i' would always be the last 'i'
    newLi.onclick = createfunc(i);

    olnew[0].appendChild(newLi);
}
函数createfunc(i){
返回函数(){alert(i);};
}
对于(i=0;i
最简单的方法是在生成列表时包含事件:

document.getElementsByTagName('ol');
for (i = 0; i < len; i++){
      var newLi = document.createElement("li");
      var link = document.createElement('a');
      link.href = "#"; 
      link.innerHTML = (results.rows.item(i).location + "-" + results.rows.item(i).datte);

      // Add this
      link.onclick = function(index) { return function() {
        // do something with index variable
      }}(i);

      newLi.appendChild(link);
      olnew[0].appendChild(newLi);
document.getElementsByTagName('ol');
对于(i=0;i

注:我使用局部变量索引而不是I,这是因为单击项目时,I的值将不同(等于len)。

最简单的方法是在生成列表时包含事件:

document.getElementsByTagName('ol');
for (i = 0; i < len; i++){
      var newLi = document.createElement("li");
      var link = document.createElement('a');
      link.href = "#"; 
      link.innerHTML = (results.rows.item(i).location + "-" + results.rows.item(i).datte);

      // Add this
      link.onclick = function(index) { return function() {
        // do something with index variable
      }}(i);

      newLi.appendChild(link);
      olnew[0].appendChild(newLi);
document.getElementsByTagName('ol');
对于(i=0;i

注意:我使用局部变量索引而不是I,这是因为当单击项目时,I的值将不同(等于len)。

脚本的第一部分不完整,因此我编写了一个简短的脚本来生成动态列表

基本上你一直在寻找:

var元素=10;
ol=document.createElement('ol');

对于(i=1;i您的脚本的第一部分不完整,所以我编写了一个简短的脚本来生成一个动态列表

基本上你一直在寻找:

var元素=10;
ol=document.createElement('ol');

对于(i=1;由于闭包问题,我将不工作:'i'将始终保持不变(最后一个循环值)。由于闭包问题,我将不工作:'i'将始终保持不变(最后一个循环值)。似乎user2764662正在试图避免jquery。这不是jquery,除了
text()
函数,但这不是他将要使用的,他的问题是如何确定除了javascript之外什么都不用点击哪个
li
仅用于将
id
显示在示例中创建的文本框中。似乎用户2764662试图避免jquery。这不是jquery,除了
文本()
函数,但这不是他将要使用的,他的问题是如何确定除了javascript之外什么都不用点击哪个
li
仅用于将
id
显示在示例中创建的文本框中。它工作正常,thx。不适用于将jquery库用于4行javascriptit工作正常,thx。不适用于将jquery库用于4行javascript