Javascript 正在获取来自数组的列表项的索引
我有这个阵列:Javascript 正在获取来自数组的列表项的索引,javascript,jquery,html,cordova,Javascript,Jquery,Html,Cordova,我有这个阵列: var names = [ "Name1", "Name2", "Name3" ]; 我将其转换为HTML的无序列表: for(i = 0; i < names.Length; i++){ text += "<li>" + names[i] + "</li>"; } text += "</ul>"; document.getElementById("choices").innerHTML = text
var names = [
"Name1",
"Name2",
"Name3"
];
我将其转换为HTML的无序列表
:
for(i = 0; i < names.Length; i++){
text += "<li>" + names[i] + "</li>";
}
text += "</ul>";
document.getElementById("choices").innerHTML = text;
及
但这些似乎不是为我做的
我可以给每个
项目打电话吗?现在该怎么办?$(“li”)。index
将返回DOM中所有li元素的元素索引
您需要对单击元素的jquery对象使用.index()
。它将返回其父容器中的元素索引:
var index = $(this).index();
$(“li”).index
将返回DOM中所有li元素的元素索引
您需要对单击元素的jquery对象使用.index()
。它将返回其父容器中的元素索引:
var index = $(this).index();
您可以使用
index
方法直接获取index
$("li").click(function () {
alert($(this).index());
});
如果页面上有多个ul
元素,并且希望将单击事件
绑定到某个特定的元素
,则可以执行此操作
要按id绑定元素,请单击
$("#YourUlId li").click(function () {
alert($(this).index());
});
要按类绑定click事件
$(".YourUlClass li").click(function () {
alert($(this).index());
});
您可以使用
index
方法直接获取index
$("li").click(function () {
alert($(this).index());
});
如果页面上有多个ul
元素,并且希望将单击事件
绑定到某个特定的元素
,则可以执行此操作
要按id绑定元素,请单击
$("#YourUlId li").click(function () {
alert($(this).index());
});
要按类绑定click事件
$(".YourUlClass li").click(function () {
alert($(this).index());
});
在for循环中动态传递id
for(i = 0; i < names.Length; i++){
text += "<li id="+i+">" + names[i] + "</li>";
}
在for循环中动态传递id
for(i = 0; i < names.Length; i++){
text += "<li id="+i+">" + names[i] + "</li>";
}
使用本机javascript,您只需创建一个函数,该函数将提醒li元素值/id对应的数组值的索引 首先,将函数附加到选项上
document.getElementById('Name2').setAttribute('onclick','checkIndex(this)');
然后循环遍历数组并查找匹配的数组值
function checkIndex(item){
for(i=0;i<names.length;i++){
if(names[i] == item.innerHTML){ //or item.id
alert(names.indexOf(names[i]));
}
}
}
功能检查索引(项){
对于(i=0;i使用本机javascript,您只需创建一个函数,该函数将提醒与li元素值/id对应的数组值的索引
首先,将函数附加到选项上
document.getElementById('Name2').setAttribute('onclick','checkIndex(this)');
然后循环遍历数组并查找匹配的数组值
function checkIndex(item){
for(i=0;i<names.length;i++){
if(names[i] == item.innerHTML){ //or item.id
alert(names.indexOf(names[i]));
}
}
}
功能检查索引(项){
对于(i=0;i使用this
获取当前元素
<ul>
<li>Male</li>
<li>Female</li>
</ul>
<script>
$("li").click(function(){
alert($(this).index())
})
</script>
- 男性
- 女性
$(“li”)。单击(函数(){
警报($(this.index())
})
使用此
获取当前元素
<ul>
<li>Male</li>
<li>Female</li>
</ul>
<script>
$("li").click(function(){
alert($(this).index())
})
</script>
- 男性
- 女性
$(“li”)。单击(函数(){
警报($(this.index())
})
请参见下面的工作片段
var名称=[
“名称1”,
“名称2”,
“名称3”
];
变量文本=“”;
对于(i=0;i”+名称[i]+“”;
}
text+=“
”;
document.getElementById(“选项”).innerHTML=text;
$('li')。在('click',function()上{
警报($(this.index())
})
请参见下面的工作片段
var名称=[
“名称1”,
“名称2”,
“名称3”
];
变量文本=“”;
对于(i=0;i”+名称[i]+“”;
}
text+=“
”;
document.getElementById(“选项”).innerHTML=text;
$('li')。在('click',function()上{
警报($(this.index())
})
我将使用jquery处理的html数据属性以声明方式处理它。请参阅
这里有一个例子
var name=[“杰克”、“玛丽”、“卢”、“安德鲁”];
var text=“”;
对于(var i=0;i”+名称[i]+“”;
}
text+=“
”;
document.getElementById(“选项”).innerHTML=text;
$(“li”)。单击(功能(e){
警报($(this).data(“id”);
});
我的选择
我将使用jquery处理的html数据属性以声明方式处理它。请参阅
这里有一个例子
var name=[“杰克”、“玛丽”、“卢”、“安德鲁”];
var text=“”;
对于(var i=0;i”+名称[i]+“”;
}
text+=“
”;
document.getElementById(“选项”).innerHTML=text;
$(“li”)。单击(功能(e){
警报($(this).data(“id”);
});
我的选择
你真的应该这样做,因为我又犯了一个错误:$(“#选择”)。单击(function(){//choices是包含我所有s.var索引的DOM元素。index=$(this.index();$(“span”).text(“索引是:#”+index);)
#选择
是
我应该使用
而不是#选择
如果我因为这篇文章而失去了很多声誉,我会将其删除。我认为下面对这个问题进行了很好的讨论,所以你不应该否决它。可能是其他用户得到了它。谢谢。你真的应该把它作为'I was还犯了一个错误:$(“#选择”)。单击(function(){//choices是包含我所有s.var索引的DOM元素。var index=$(this.index();$(“span”).text(“索引为:#“+index”))
#选择是
我应该使用
而不是#选择
如果我因为这篇文章而失去了很多声誉,我会将其删除。我认为下面对这个问题进行了很好的讨论,所以你不应该投反对票。可能是其他用户得到了它。谢谢。我只有一个问题:如果我有在同一上下文或文件中有多个
。您可以通过id
或class
像$(“#youruid li”)将单击功能绑定到特定的ul li
.单击
我只有一个问题:如果在同一上下文或文件中有多个
,该怎么办?您可以通过id
或class
像$(“#youruid li”)将单击功能绑定到特定的ulli
。单击
谢谢你的回答。我从中选择了一个想法。虽然我使用数组
而不是DOMs
。很高兴你有了一个想法谢谢你的回答。我从中选择了一个想法。虽然我使用数组
而不是DOMs
。很高兴你得到了一个非常容易理解的想法。谢谢