我想了很久如何定義問題,但我不能,我需要解釋代碼。使用getElementById(x).onclick = someFunction
我想在JavaScript中製作一個簡單的組織器。您輸入任務,然後單擊「添加到列表」按鈕,腳本創建一個複選框,其中包含任務文本的段落。第二部分是禁用複選框,並在點擊它時敲擊該任務文本。我試圖通過給每個複選框創建一個函數(destroyIt(),通過id獲取元素並禁用它,但它僅適用於添加到頁面的最後一個複選框。我正在查看此代碼很長時間,我看不出有什麼不對請幫助這裏是我的代碼:。
<html>
<head>
<style id="stil">
.over{
text-decoration:line-through;
}
</style>
<script type="text/javascript">
var numberOfTasks=1;
function insertNew(){
tekst = document.getElementById("zadatak").value;
if(tekst.length>0){
var idEl= "check"+numberOfTasks;
document.getElementById("ispis").innerHTML+="<input type='checkbox' id='check"+numberOfTasks+"'> "+"<span class='"+idEl+"'>"+tekst+"</span> <br/>";
document.getElementById(idEl).onclick= function(){ destroyIt(idEl); };
numberOfTasks++;
}
}
function destroyIt(idEl){
document.getElementById(idEl).disabled=true;
document.getElementById("stil").innerHTML+= "."+idEl+"{text-decoration:line-through;}";
alert(idEl+"{text-decoration:line-through;}");
}
</script>
</head>
<body>
Tasks for: <span id="date"> </span>
<script>
var date= new Date();
document.getElementById("date").innerHTML= ""+ date.getDay() +"." +date.getMonth() +"." +date.getFullYear();
</script>
<br/> <br/>
New task: <input type="text" id="zadatak"> <button onclick="insertNew()"> add to the list </button>
<button onclick="provera()">Provera</button>
<p id="ispis"> </p>
</body>
這是您的完整密碼嗎? – Mritunjay
我建議把一個簡單的[JS小提琴](http://jsfiddle.net/)或類似的演示。將所有內容剝離到重現問題所需的最小*代碼量。 (如果您以前沒有使用過,請參閱文檔中的「[how to](http://doc.jsfiddle.net/)」。順便說一下,如果您要做的只是更改演示文稿,那麼:'input:checked + span {text-decoration:line-through; }'(或者:'input [disabled] + span') –
你想通過編輯樣式表來改變樣式嗎?我想也許一些基本的教程會對你有所幫助。 –