它的功能有问题,并显示为控制台未登录的TypeError:不能读取属性‘长度’的空和不能解释为什么
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');
});
}
发布于 2014-02-17 01:17:40
您正在为"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();
https://stackoverflow.com/questions/21824918
复制相似问题