2013-03-25 92 views
0

我試圖從使用id.remove()屬性的函數中刪除<img>標籤,但它不起作用。你可以找到的東西,我在下面做一個簡單的代碼:使用.remove()屬性刪除img標籤jquery

<script> 
function verify(img) 
{ 
    if(/*somecondition*/) 
    removetag_setother(); 
    else 
    //do something 
} 
function removetag_setother() 
{ 
    $("#1").remove(); 
    text="<p>hello</p>"; 
    $("body").append(text); 
} 
</script> 
<body> 
<img id="1" onclick="verify(this)" src="image1.png"> 
</body> 

查看控制檯日誌,我得到這個消息: 的ReferenceError:$沒有定義

+1

你在[控制檯]任何錯誤(https://developers.google.com/chrome-developer-tools/docs/console)?例如,我們看到的代碼無法編譯。 – 2013-03-25 20:35:02

+4

相當確定的ID不能是數字 – Jack 2013-03-25 20:36:39

+0

它工作正常[這裏](http://jsfiddle.net/wirey00/5q6CB/) - 是否有更多的代碼可能會導致此失效? – 2013-03-25 20:38:44

回答

0

問題是空ifelse聲明。將if(/*somecondition*/)替換爲if(true)並註釋掉else子句。

<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script> 
function verify(img) 
{ 
    if(true) 
     removetag_setother(); 
    //else 
     //do something 
} 
function removetag_setother() 
{ 
    $("#1").remove(); 
    text="<p>hello</p>"; 
    $("body").append(text); 
} 
</script> 
<body> 

+0

我把/ * somecondition * /只是舉個例子。我在開始時在removetag_setother()函數內部有一個提示消息,並顯示了它的內容,但是,當執行命令$(「#1」)。remove()時,既沒有設置文本var也沒有執行.append()命令被執行。 – user1013213 2013-03-25 20:49:12

+0

你的代碼中的else子句是否爲空?如果是因爲它將函數的關閉'}'看作你的其他語句,你會得到一個編譯錯誤。 – clav 2013-03-25 20:56:34

+0

其他子句用於調用另一個函數。我確信對removetag_setother()函數的調用已完成,因爲我可以看到放入它的警報消息。當執行$(「#1」)。remove()時,我不知道如何捕獲錯誤。你有任何想法趕上錯誤? – user1013213 2013-03-25 21:05:30