【问题标题】:Uncaught TypeError: Cannot read property 'length' of null JSON-JQUERY未捕获的类型错误:无法读取空 JSON-JQUERY 的属性“长度”
【发布时间】:2023-03-10 19:37:01
【问题描述】:

它的功能有问题并显示为控制台 未捕获的类型错误:无法读取 null 的属性“长度” 不明白为什么

function shownameplaylist(){
$.getJSON( "js/json/nameplaylist.json", function( data ) {
    var items = [];
    $.each( data, function( key, value ) {
        $('#nameplaylist').append('<option>'+value.title+'</option>')
    });
    $('.nameplaylist option:first-child').attr("selected", "selected");
    nameplaylist=$( ".nameplaylist option:selected" ).text();
    console.log(nameplaylist.length);
    if(nameplaylist.length==0){
        $('#nameplaylist').css('display','none');
        $('#delplaylist').css('display','none');
    }
}).done(function(){ // If the AJAX call encountered an error
        showplaylist();
    })
    .fail(function(){ // If the AJAX call encountered an error
        console.log('no load nameplaylist');
        $('#nameplaylist').css('display','none');
        $('#delnamelist').css('display','none');
        $('#delplaylist').css('display','none');

    });
}

【问题讨论】:

  • 您的 nameplaylist 变量是否真的包含任何内容?
  • nameplaylist 是一个 id 或一个类,你用过它两种方式
  • null 他是定义 null 问题出在这里 $.each(data, function(key, value) { $('#nameplaylist').append('') });

标签: javascript jquery json


【解决方案1】:

您为“nameplaylist”使用了两个不同的选择器,#nameplaylist.nameplaylist。第一个暗示一个带有ID 的“nameplaylist”的元素,第二个暗示一个带有class 的“nameplaylist”的元素。

$('#nameplaylist')$('.nameplaylist') 不会选择相同的元素,除非您的元素同时具有“nameplaylist”的id class

<elem id="nameplaylist" />       <!-- $('#nameplaylist') -->
<elem class="nameplaylist" />    <!-- $('.nameplaylist') -->

确定您实际使用的选择器并相应地修改您的选择器。

查看您的代码,我想您的解决方法就是将第 7 行和第 8 行更改为:

$('#nameplaylist option:first-child').attr("selected", "selected");
nameplaylist=$( "#nameplaylist option:selected" ).text();

【讨论】:

  • 不解决更具体的问题是需要 conver $.getJSON( "js/json/nameplaylist.json", function( data ) { var items = []; $.each( data, function ( key, value ) { $('#nameplaylist').append('') }); 反对我认为但我不知道如何
猜你喜欢
  • 2019-11-22
  • 2012-10-11
  • 2014-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-24
相关资源
最近更新 更多