jQuery链接列表

时间:2018-09-28 10:21:28

标签: jquery html node.js

我有一个链接列表,这些链接是根据数据库对象动态创建的,当我按下一个对象时,我需要向下一个html页面传递一个变量。

我的代码是:

sections.forEach(sec => {
   var li = jQuery(`<a href='/dish.html'><li>${sec.sectionName}</li></a>`)
   jQuery('#sections').append(li);
     });
 jQuery('#sections').click(function() {
    //here I need to determine what link was pressed by the user.
        });


#sections is an ordered list

谢谢

2 个答案:

答案 0 :(得分:1)

您可以为每个“ li”元素附加动作侦听器,而不是确定按下了哪个链接。 顺便说一句,这是一个约定,当您将任何DOM元素分配给变量名时,它会在变量名的开头添加“ $”符号(这就是为什么这样做了)。

sections.forEach(sec => {
    var $li = jQuery(`<a href='/dish.html'><li>${sec.sectionName}</li></a>`);
    $li.on('click', () => {
        //here you can attach listener for each element. You can reference using:
        var $currentElement = $(this);
        //now you can operate on current anchor element.
    });

    jQuery('#sections').append($li);
});

答案 1 :(得分:1)

您可以这样操作。我不知道您必须从<li>中提取哪些数据。我提取了<li>中包含的文字,希望对您有所帮助。

var sections = [{"sectionName":"rahul"},{"sectionName":"rohit"}]; // My dummy Object

sections.forEach(sec => {
   var li = jQuery(`<a class="mylinks" href='#'><li>${sec.sectionName}</li></a>`)
            jQuery('#sections').append(li);
      });

$(document).on("click",".mylinks",function(){
  var  touched_li = $(this).find("li").text();
  alert(touched_li); // Get section name. e.g rahul
});