我正在尝试提高我的JavaScript技能。使用for循环,我想选择每隔两个元素(例如,我要使其变为粗体或斜体)。我知道我可以使用CSS3和nth-child
选择器来做到这一点,但是正如我所说的,我正在尝试提高自己的JS技能,我想使用for
循环而不使用{{1 }}循环或其他JS循环类型。我是JS的新手。
edit:我想添加所有元素,但我只想拾取第二个元素以使其变为粗体或斜体
foreach
var myList = document.getElementById('myList');
var addList = ["Python", "C", "C++", "Ruby", "PHP", "Javascript", "Go", "ASP", "R"];
for (var i = 0; i < addList.length; i++) {
var newLi = document.createElement("li");
newLi.innerHTML = addList[i];
myList.appendChild(newLi);
}
答案 0 :(得分:3)
在您的for循环中,不是将<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_12"
android:orientation="horizontal"/>
增加1,而是将每次使用i
的迭代将i
增加2。
更新的代码:
i+=2
var myList = document.getElementById('myList');
var addList = ["Python", "C", "C++", "Ruby", "PHP", "Javascript", "Go", "ASP", "R"];
for (var i = 0; i < addList.length; i+=2) {
var newLi = document.createElement("li");
newLi.innerHTML = addList[i];
myList.appendChild(newLi);
}
答案 1 :(得分:1)
在您的for
循环中,使用i++
而不是i += 2
。
答案 2 :(得分:1)
使用modulus(%)
运算符循环获取每个2nd element
并在其上添加fontStyle
:
var myList = document.getElementById('myList');
var addList = ["Python", "C", "C++", "Ruby", "PHP", "Javascript", "Go", "ASP", "R"];
for (var i = 0; i < addList.length; i++) {
var newLi = document.createElement("li");
newLi.innerHTML = addList[i];
if(i%2==0){
newLi.style.fontStyle = "italic"
newLi.innerHTML = "<strong>"+addList[i]+"</strong>";
}
myList.appendChild(newLi);
}
<ul id="myList"></ul>
答案 3 :(得分:1)
您可以在循环主体中添加以下内容:
if (i % 2 == 1) {
// whatever you need to do to make it bold or italic
}
将为i
的每个奇数调用此函数。
答案 4 :(得分:0)
在循环中仅使用i + = 2代替i ++
答案 5 :(得分:0)
要添加所有元素并拾取第二个元素,请在%
语句中使用模运算符if
:i % 2 == 0
并更改fontStyle
。
更新的代码:
var myList = document.getElementById('myList');
var addList = ["Python", "C", "C++", "Ruby", "PHP", "Javascript", "Go", "ASP", "R"];
for (var i = 0; i < addList.length; i+=2) {
var newLi = document.createElement("li");
if (i % 2 == 0) {
// make bold
newLi.style.fontStyle = "bold"
// make italic
newLi.style.fontStyle = "italic"
}
newLi.innerHTML = addList[i];
myList.appendChild(newLi);
}
<ul id="myList"></ul>