Javascript 如何计算无序列表中的项目数量。JQuery
我是StackOverflow社区的新手! 我一直在寻找这个话题,其中一些人说我知道我在寻找什么,但我无法实现 我对JQuery和JS也是新手,如果我的代码中有任何地方乱七八糟,我道歉 我的代码:Javascript 如何计算无序列表中的项目数量。JQuery,javascript,jquery,html,Javascript,Jquery,Html,我是StackOverflow社区的新手! 我一直在寻找这个话题,其中一些人说我知道我在寻找什么,但我无法实现 我对JQuery和JS也是新手,如果我的代码中有任何地方乱七八糟,我道歉 我的代码: $('#btnComments').click(function () { if ($('#commentArea').val() != "") { var $newli = document.createElement('li'); $newli.textCo
$('#btnComments').click(function () {
if ($('#commentArea').val() != "") {
var $newli = document.createElement('li');
$newli.textContent = $('#commentArea').val();
$('#listaDeComentarios').after($newli);
$('#commentArea').val('');
var cantLiEnUl = $('#listaDeComentarios').length;
$newli.tagName = 'Comments[' + cantLiEnUl.toString() + ']';
}
});
在我代码的第一部分,我只是从一个文本区域获取文本,并将其添加到注释列表中。我试图做的是为li的名称设置适当的索引,因为我用一个模型发布该列表,如果我不给每个li一个索引,那么模型中的这个属性将以null值到达
我一直在做一些console.log(cantLiEnUl)来了解这个值是如何改变的,它没有改变,它总是1#listaDeComentarios是我的ul的id
如果有什么不清楚的地方,我会尽量解释清楚
提前谢谢
我读了关于@Turnip的评论后发现
我之所以发布它,是因为他回复了一条评论,无法将其标记为解决方案。我的问题是。之后
您应该使用.append而不是.after,否则长度将始终为零。实际上,你并没有把li添加到ul中。此外,您不能给标记名赋值-这是元素的“类型”。在您的例子中,$newli.tagName等于'LI'
谢谢 我将做一个大胆的猜测,并假设您正在尝试这样做:
$('btnComments')。单击(函数(){
if($('#commentArea').val()!=“”){
var$newli=document.createElement('li');
$newli.textContent=$('#commentArea').val();
/**
*使用“.append`not`”。在“。。。
*/
$('listaDeComentarios')。追加($newli);
$('#commentArea').val('');
/**
*检查'li'的长度而不是'ul'。。。
*/
var cantLiEnUl=$('listaDeComentarios li')。长度;
/**
*将“data myData”替换为要设置的任何属性。。。
*/
$($newli.attr('data-myData','Comments['+cantLiEnUl.toString()+']);
}
});代码>
#listaDeComentarios li:之后{
内容:'-'属性(数据myData);
颜色:红色;
}
点击
这个问题与C
有什么关系?使用length
属性,例如$('ul li')。length
。如果这对您不起作用,我们需要更多地查看您的代码。一个工作示例会很好,或者一个HTML示例至少应该使用.append
而不是。在之后,长度将始终为零。实际上,您没有将li
添加到ul
。此外,您不能将值赋给标记名
——这是元素的“类型”。在你的例子中,$newli.tagName
等于'LI'。Jules我用ASP.NET MVC 5来做这件事。如果它不合适,我可以移除它。我apologize@Turnip我的问题都是关于…之后!非常感谢。我用你的回复编辑了这篇文章,因为我无法将你的评论标记为正确的回复!对这正是我想做的。非常感谢。