這是一個問題鏈接到我已經問過的另一個問題(請參見:Sort list items from random child)。使用IndexOf的分割陣列不起作用
問題是我有一個我想從隨機項目中拆分的項目列表。我試着用「IndexOf()」,但它總是返回-1。任何想法我做錯了什麼?
這裏是我的代碼:
HTML
<ul class="myClass">
<li class="item">
<a href="URL" title="Company A" target="_blank">
<span class="logo">
<img src="images/logo1.jpg">
</span>
</a>
</li>
<li class="item">
<a href="URL" title="Company B" target="_blank">
<span class="logo">
<img src="images/logo2.jpg">
</span>
</a>
</li>
<li class="item">
<a href="URL" title="Company C" target="_blank">
<span class="logo">
<img src="images/logo3.jpg">
</span>
</a>
</li>
<li class="item">
<a href="URL" title="Company D" target="_blank">
<span class="logo">
<img src="images/logo4.jpg">
</span>
</a>
</li>
<li class="item">
<a href="URL" title="Company E" target="_blank">
<span class="logo">
<img src="images/logo5.jpg">
</span>
</a>
</li>
...
</ul>
JAVASCRIPT
function randomizeChild(){
var listItems = [];
$('ul.myClass li').each(function() {
listItems.push(this);
});
var randomChild = Math.round(Math.random() * listItems.length);
console.log("Random Child ---> " + randomChild);
var indexToSplit = listItems.indexOf(randomChild);
var first = listItems.slice(0, indexToSplit);
var second = listItems.slice(indexToSplit + 1);
console.log(indexToSplit); // it returns always -1 :(
console.log(first, second);
}
你'randomChild'已經是隨機指標,沒必要把它傳遞到'indexOf'以及...現在,你基本上是問「給我索引的索引...」 – nem035
我認爲'listItems'是一個字符串數組,並且'randomChild'包含一個整數或者double,所以'listItems.indexOf(randomChild)'總是會返回'-1' – CrakC
只需使用更多的jQuery,並解決它自己 - > ** http://jsfiddle.net/fdz52g2y/** – adeneo