【问题标题】:how to get the position of an element in unordered list如何获取一个元素在无序列表中的位置
【发布时间】:2018-12-06 12:31:42
【问题描述】:

我有一个无序列表,每个列表都包含一个锚标记和一个按钮。

单击按钮时,我想获取使用 javascript 单击的元素的位置。

我试过的代码是:

function getEventTarget(e) {
         debugger
    e = e || window.event;
    return e.target || e.srcElement; 
}

var ul = document.getElementById('subMenu5');
    ul.onclick = function (event) {
    debugger
    var target = getEventTarget(event);
    alert(target.index);
};

但这不会抛出被选中元素的索引或位置

【问题讨论】:

  • 你是对的伙伴。我没有得到这个问题。 ps:叫我普拉文。 :)

标签: javascript jquery asp.net


【解决方案1】:

您可以通过查找具有标签li.closest() 父级来找到触发的li,然后找出它的.index() 是什么

$('button,a').click(function(){
  var li = $(this).closest('li');
  console.log("You clicked on item ",(li.index()+1));
});
a
{
  padding: 10px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<ul>
  <li><button>I am button 1</button><a href="#">I am a link 1</a></li>
  <li><button>I am button 2</button><a href="#">I am a link 2</a></li>
  <li><button>I am button 3</button><a href="#">I am a link 3</a></li>
  <li><button>I am button 4</button><a href="#">I am a link 4</a></li>
  <li><button>I am button 5</button><a href="#">I am a link 5</a></li>
</ul>

【讨论】:

  • 嗨,这是我想要的,但我做不到。我有一个javascript函数,在里面我写了代码 var li = $(this).closest('li'); console.log("你点击了项目",(li.index()+1));但这总是抛出 0
猜你喜欢
  • 1970-01-01
  • 2011-08-09
  • 2014-07-11
  • 2014-09-22
  • 2011-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-21
相关资源
最近更新 更多