<div id='xlink'>mc</div>
JS
$('#next').click(function() {
var xlink = $('#xlink').html();
var links = [ 'qd', 'mc', 'vr', 'lm', 'ms', 'kl', 'yu', 'an' ];
foreach(links, element) {
if (element.value==xlink){y = element.index};
alert (y);
});
我需要什么:
links
数组中的foreach元素,如果元素值等于xlink value
,则y = index of that element
。在这种情况下应该是1
。
答案 0 :(得分:2)
获取要用作键的元素文本,并使用indexOf在数组中查找,或者使用jQuery的$.inArray
查找更多的跨浏览器,它将返回索引
$('#next').on('click', function() {
var links = [ 'qd', 'mc', 'vr', 'lm', 'ms', 'kl', 'yu', 'an' ];
var key = $.trim( $('#xlink').text() );
var y = $.inArray(key, links);
alert(y);
});
答案 1 :(得分:1)
您可以使用 links.foreach
遍历链接数组 $('#next').click(function() {
var xlink = $('#xlink').html();
var links = [ 'qd', 'mc', 'vr', 'lm', 'ms', 'kl', 'yu', 'an' ];
links.forEach(function(value,index) {
if (value==xlink){
y =index
alert (y);
}
});
});
答案 2 :(得分:1)
不需要在eventListener
中声明此数组var links = [ 'qd', 'mc', 'vr', 'lm', 'ms', 'kl', 'yu', 'an' ];
document.getElementById('next').addEventListener('click', function(){
var i = links.indexOf(
document.getElementById('xlink').innerText.replace(/^\s+|\s+$/g, '')
);
alert(i);
})
就像vanillaJS)