使用javascript将id插入列表元素
Using javascript to insert id into list elements
我在摆弄我做的一副牌。我设置了它,这样就有一种方法可以根据花色将牌列出来,所以如果我想要黑桃,我就得到所有黑桃牌的<ol>
。我现在试图给每个<li>
元素一个id,这取决于它是什么牌。例如,a是<li id="ace"><img src="ace_spades.gif"/></li>
, king是<li id="king"><img src="king_spades.gif"/></li>
。这个列表是按照从上到下的顺序排列的。我试着这样做:
var card_id=["ace","king","queen","jack","ten","nine","eight","seven","six","five","four", "three","two"];
var counter=0;
while (counter<=12)
{
$(document).ready(function(){
$("li").eq(counter).attr("id", card_id[counter])
});
counter++;
}
但它不起作用。除了简单的jquery之外,我之前并没有真正用javascript做过任何事情。我说错了什么?
试试这个:
$(document).ready(function(){
var card_id = ["ace","king","queen","jack","ten","nine","eight","seven","six","five","four", "three","two"];
$.each(card_id, function(i,id){
$("li").eq(i).attr('id',id);
});
});
您应该尝试只使用一个$(document).ready()
函数,而不必使用while()
循环。
我认为你不需要在while
中调用$(document).ready()
函数。试试这个:
var card_id=["ace","king","queen","jack","ten","nine","eight","seven","six","five","four", "three","two"];
var counter=0;
while (counter<=12){
$("li").eq(counter).attr("id", card_id[counter]);
counter++;
}
您不需要文档准备函数。将脚本放在</body>
之前和jquery.js脚本之后。这对我很有效。
查看工作示例http://jsfiddle.net/H8MeG/2/
第一个ID的网页必须是唯一的。有些浏览器可能会忽略已经使用过的元素的id。其他浏览器可能完全失败…第二。您不应该像那样使用.eq()。你绝对不应该添加12个新的$(document).ready()语句。
下面是一个更可靠的版本和jsfiddle
上的示例var card_id=["ace","king","queen","jack","ten","nine","eight","seven","six","five","four", "three","two"];
$("#spades li").each(function(index){
$(this).attr("class", card_id[index]);
$(this).text(card_id[index]);
});
我还添加了$(this).text(card_id[index]);
,所以你看到它实际上是有效的。尝试为具有相同特征的多个元素使用类
为什么要乱搞id呢?你知道第一项是a,第二项是k,以此类推。ol.getElementsByTagName("李")[12]="恶运"
相关文章:
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- 将列表元素动画制作到顶部
- 使用Razor和javascript来获得下拉列表元素
- 根据列表元素的值使用JQuery获取列表元素
- 将列表元素动态添加到ul元素中
- insertRule不插入样式元素
- 使用 jquery 库获取锚点列表元素内的文本
- 在没有大量回调函数的情况下在列表元素上循环播放同一动画
- jQuery:append()不是't在选择器中插入任何元素
- 使用JSON和JavaScript添加额外的html列表元素
- 范围和列表元素在 DIV 中换行
- jQuery:影响相同深度的列表元素
- 所选列表元素不会保持选中状态(通过ajax请求更新后)
- 一次显示n个列表元素,jQuery
- 将列表元素宽度设置为文本宽度
- 在最后一个位置的下一个位置插入列表元素
- 使用JavaScript执行程序时,将列表元素插入body标记中
- Jquery插入列表元素与排序位置
- 在每个列表元素中插入一个链接标记
- 使用javascript将id插入列表元素