【问题标题】:Jquery getJSON on Document.ready()Jquery getJSON on Document.ready()
【发布时间】:2016-03-07 14:25:11
【问题描述】:

我需要有关如何解决此问题的提示,这是我调用 JSON 的 jquery 脚本

$('#myTabs a').click(function () {
    var jsonURL = $(this).attr('data-link');
    var targetURL = $(this).attr('href');

      $.getJSON(jsonURL,
        function(data) {
           $(targetURL).html('<p> Name: ' + data.item.name + '</p>' + '<p>Details : ' + data.item.details + '</p>' + '<p> Composition: ' + data.item.composition + '</p>' + '<p> Sex: ' + data.item.modelDetails + '</p>' );
         });
       });

虽然这是 HTML

<!-- Navigation Buttons -->
        <div class="col-md-3">
          <ul class="nav nav-pills nav-stacked" id="myTabs">
            <li class="active"><a id="test1" data-link="https://api.myjson.com/bins/1rzuh" href="#one">One</a></li>
            <li><a id="test2" data-link="https://api.myjson.com/bins/4a8ax" href="#two">Two</a></li>
          </ul>
        </div>

        <!-- Content -->
        <div class="col-md-9">
          <div class="tab-content">
            <div data-json="element-1" class="tab-pane active" id="one">wewe1</div>
            <div data-json="element-2" class="tab-pane" id="two">wewe2</div>
          </div>
        </div>

问题是当 DOM 完成加载时,我需要第一个 JSON 内容出现在目标 div 中,现在我看到的只是一个空白 div,因为我需要先点击按钮,然后才能正确显示内容。

我在开发方面真的很菜鸟,所以请耐心等待 :) 谢谢大家

【问题讨论】:

    标签: jquery json dom load


    【解决方案1】:

    在定义了有问题的事件处理程序后,您可以在集合的第一个元素上触发 click 事件

    $('#myTabs a').first().click();
    

    【讨论】:

    • 您好,谢谢您的回答,您能说得更具体点吗?这里非常菜鸟编码器
    • 更具体的是什么?你把它放在你的代码之后,它和用户点击第一个的效果一样
    【解决方案2】:

    如果你把 javascript 放在一个 document.ready 中,那么它会在加载时自动运行:

    $(document).ready(function(){
        // do stuff on page load
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-28
      • 2012-06-02
      • 2013-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      相关资源
      最近更新 更多