2013-05-15 19 views
0

實施例:如何使用jQuery更改DIV中的HTML?

for (i=1; i <= 3; i++) { 
     alert(i + "," + wanted); 
     $("#hint-" + $i).html("Verified as " + $i + ".<br />"); 
    } 

更改此:

<div id="verify-1"> </div> 
<input type="radio" name="b_answer_1" id="radio-1" value="Lamb">Lamb</input><br /> 
<div id="verify-2"> </div> 
<input type="radio" name="b_answer_2" id="radio-2" value="Llama">Llama</input><br /> 
<div id="verify-3"> </div> 
<input type="radio" name="b_answer_3" id="radio-3" value="Goat">Goat</input><br /> 

向該:

    <div id="verify-1">Verified as 1<br /></div> 
<input type="radio" name="b_answer_1" id="radio-1" value="Lamb">Lamb</input><br /> 
        <div id="verify-2">Verified as 2<br /></div> 
<input type="radio" name="b_answer_2" id="radio-2" value="Llama">Llama</input><br /> 
        <div id="verify-3">Verified as 3<br /></div> 
<input type="radio" name="b_answer_3" id="radio-3" value="Goat">Goat</input><br /> 
+4

你開始通過使用'$ i'或'i',而不是兩個,因爲他們是不一樣的事情。 – adeneo

+1

你用'$(「#hint-」+ $ i)'定位它們,但是它們的'id'以「verify - 」開始...... – Ian

+1

接下來,驗證HTML,因爲輸入元素是自閉合的。 – adeneo

回答

3

移除$i之前

for (i=1; i <= 3; i++) { 
     alert(i + "," + wanted); 
     $("#verify-" + i).html("Verified as " + i + ".<br />"); 
} 

或者你也可以做到這一點 -

$("div[id^='verify-']").each(function(){ 
    var num = this.id.match(/(\d+)$/)[1]; 
    $(this).html("Verified as " + num + ".<br />"); 
}); 
+0

如果'id'有多個數字,你的第二個例子將不起作用。你可能想使用'this.id.match(/(\ d +)$ /)[1]'來得到末尾的數字 – Ian

+0

@Ian ..謝謝..我對'regex'不太瞭解,但是我更新了我的答案。 –

+0

沒問題,只是想讓你有一個可靠的方式來獲得'ID'結尾的數字:) – Ian

2

你的ID是verify-1 , verify-2 ...等

for (i=1; i <= 3; i++) 
    $("#verify-" + i).html("Verified as " + i + ".<br />"); 
+0

@kinesis你現在是否解決了這個問題 – PSR