【问题标题】:How to get inner html of li via id of parent div?如何通过父div的id获取li的内部html?
【发布时间】:2015-05-22 07:17:55
【问题描述】:

我只想获取 div 中的 li 的内部 html。请看我的代码

<div id="tabs" style="border:none !important;">
  <ul>
    <li><a href="#tabs-1" class="active">Flight</a></li>
    <li><a href="#tabs-2">Hotel</a></li>
    <li><a href="#tabs-3">Car Rental</a></li>
    <li><a href="#tabs-4">Cruise</a></li>
  </ul>
</div>

没有必要不共享完整代码。有没有一种简单的方法可以使用父 div id(tabs) 获取 li 的内部 html。

【问题讨论】:

  • 哪个LI?您的代码中有 4 个LIs。你应该先尝试一下。
  • 也许是你写的,但我没有看到你的努力。请分享您尝试过的代码。
  • @Leothelion 这不是不检查并重新格式化堆栈溢出代码的借口。我花了很多时间来修改那些自己不修复的人的代码。
  • @Leothelion 您应该始终将您正在使用的代码框视为独立文件。即从一直到左边正确缩进所有内容。遵循缩进 html 的标准约定应该是 2 或 4 个空格缩进。示例应该是完整的并且基本上是自给自足的代码片段,可以轻松运行或查看。
  • @Leothelion 我没有否决你的投票是为了明确。我的编辑修复了您的代码中的间距问题,向 div 添加了一个关闭标签,并删除了一个似乎与您的问题没有任何上下文的打开 div。

标签: javascript jquery


【解决方案1】:
$(document).ready(function(){
    $("#tabs li").each(function(){
        alert($(this).html());
    });
});

http://jsfiddle.net/t2o3vppa/1/

【讨论】:

  • 对不起,我只想一次得到一个 li 值..对不起,我不是 jquery 专家所以
  • @Leothelion 我编辑了我的答案,它现在会为每个 li 值显示一个警报,所以在这种情况下有 4 个警报。
  • 你的答案不是我想要的,但我从你的答案中得到了灵感,所以谢谢你..:)
  • @Leothelion 欢迎您。如果您需要更多帮助,请告诉我更多您真正想做的事情,我只是在这里展示了如何获取每个 LI innerHTML :)
【解决方案2】:

Yoyu 只需使用 jquery 选择器 as 即可获取您的列表项

var listItems = $('#tabs ul li');
for(i=0;i<listItems.length;i++)
{
    alert(listItems.eq(i).html());
}

【讨论】:

    【解决方案3】:

    如果你有 JQuery,你可以有这样的东西:

    $("#tabs").find("li").each(function(index, element) {
        console.log($(this).html()); 
    });
    

    【讨论】:

      【解决方案4】:

      你可以试试

      $("#tabs").find("ul li").each(function(){alert($(this).text())})
      

      【讨论】:

        【解决方案5】:
        var arr=[];
        $("#tabs").find("li").each(function(index, element) {
            $(this).find('a').attr('href');
            var obj = {};
            obj['href'] = $(this).find('a').attr('href');
            obj['li'] = $(this).html();
            arr.push(obj);
        });
        console.log(arr);  
        

        Demo

        【讨论】:

          【解决方案6】:
          $('#tabs ul li').each(function () {
              var contenu = $(this).html();
          });
          

          你也可以case每个li:

           $('#tabs ul li').each(function () {
                  $content_of_li = $(this).html(); // $(this) is the li
                  $tab_id = $(this).attr('id').substr(4,1); // you get : 1,2,3,4...
                  switch($tab_id ) {
                      case 1:/*do that*/;break;
                      case2...
                      case3...
                  }
          });
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-08-09
            • 2023-03-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多