Javascript 无法读取属性:样式为Null
我正在使用香草Javascript在Trello板上工作,在制作卡片时收到一个错误。我使用了本地和会话存储分别存储卡和列表,但在单击“添加卡板”按钮后,我不明白为什么此错误仍然存在Javascript 无法读取属性:样式为Null,javascript,Javascript,我正在使用香草Javascript在Trello板上工作,在制作卡片时收到一个错误。我使用了本地和会话存储分别存储卡和列表,但在单击“添加卡板”按钮后,我不明白为什么此错误仍然存在 function newTask(x){ card_index= parseInt(localStorage.getItem("card_indices")) ; //card_index = parseInt(sessionStorage.getItem("card_indices
function newTask(x){
card_index= parseInt(localStorage.getItem("card_indices")) ;
//card_index = parseInt(sessionStorage.getItem("card_indices"));
list_index = parseInt(sessionStorage.getItem("index"));
document.getElementById('myTasks').innerHTML +=
'<div id = "list_' + list_index + ' " class="list-item animated zoomIn" > <h2 id = "title_' + list_index +'" onClick = "modifyObj.titleEdit('+ list_index +')" class="list-item__h2">'+x+'</h2><span id = "span_del_' + list_index + '" class ="btn title-delete" onClick ="modifyObj.titleDelete(' + list_index + ')">\u00D7</span><hr>'+
'<input id = "card_del_' + card_index + '" type="text" class="myInput" placeholder="Title...">' +
'<div class="btn add-items " id = "div_add_list_" onClick = "myCard.titleForm(' + list_index + ',' + card_index + ')" >Add List Item</div>'
'</div>'
sessionStorage.setItem("index", parseInt(sessionStorage.getItem("index"))+1);
}
函数newTask(x){
card_index=parseInt(localStorage.getItem(“card_index”);
//card_index=parseInt(sessionStorage.getItem(“card_index”);
list_index=parseInt(sessionStorage.getItem(“index”);
document.getElementById('myTasks').innerHTML+=
''+x+'\u00D7
'+
'' +
“添加列表项”
''
sessionStorage.setItem(“索引”),parseInt(sessionStorage.getItem(“索引”))+1;
}
var myCard={
卡片:功能(索引、卡片索引){
var enteredElement=document.getElementById('card\u del\u'+card\u index.)。值;
var textNode=document.getElementsByClassName('text_'+card_index);
textNode.innerText=enteredElement;
如果(enteredElement==“”){
警惕(“你必须写点什么”);
}
否则{
document.getElementById(“text”)style.display=“block”;
}
},
标题形式:功能(索引、卡片索引){
元素=document.getElementById('card\u del\u'+card\u index);
text='>u00D7'
元素insertAdjacentHTML('beforeend',text);
卡片(索引,卡片索引);
localStorage.setItem(“卡索引”),parseInt(localStorage.getItem(“卡索引”))+1;
//卡片索引+=1;
}};
textNode.innerText=enteredElement;该值为Null,但它应该包含enteredElement的值,即InputValue您可以发布html吗?好的,另一个(可能)问题是这一行:var textNode=document.getElementsByClassName('text_'+card_index)
返回节点列表(集合),然后在下一行尝试执行此操作:textNode.innerText=enteredElement
您试图获取集合的innerText
属性,而不是该集合中的某个节点。节点列表没有.innerText
属性yes,谢谢Scott,不过这里的问题很小,document.getElementById(“text”)style.display=“block”;需要包含“文本”+索引。
var myCard = {
card:function(index, card_index){
var enteredElement = document.getElementById('card_del_' + card_index).value;
var textNode = document.getElementsByClassName('text_' + card_index);
textNode.innerText = enteredElement;
if (enteredElement === ""){
alert("You must write something ");
}
else{
document.getElementById("text_").style.display = "block";
}
},
titleForm: function(index,card_index){
element = document.getElementById('card_del_' + card_index);
text = '<li style="display:none" class="text_'+ card_index +'"> <span class = "btn items" onClick = "myCard.cardClose()">u00D7</span></li>'
element.insertAdjacentHTML('beforeend', text);
myCard.card(index,card_index);
localStorage.setItem("card_indices", parseInt(localStorage.getItem("card_indices"))+1);
// card_index+=1;
}};