2014-09-03 141 views
0

我試圖通過ID,它存儲在一個變量來刪除<a> </a>元素,像這樣:刪除不工作的JQuery

function deleteme(counter) { 

     alert("Möchten sie wirklick das blau markierte Kreuz löschen?"); 
     $('<a id=' + counter + '> </a>').remove(); 
    } 

這是HTML,我嘗試刪除

<a id="1"> 
    <p>ID von 1 XPosition 240, YPosition 53<img src="any.jpg" onclick="deleteme(1)"</p> 
    </a> 

我做了一個alert(counter)來檢查它是否有正確的ID。它有。

我該如何解決這個問題?

+2

只需使用'$('#'+ counter).remove();' – Satpal 2014-09-03 11:41:03

+0

啊很簡單,因爲這個:/謝謝 – CodeFanatic 2014-09-03 11:41:16

回答

5

您正在創建一個新元素$('<a id=' + counter + '> </a>')

要選擇並刪除現有的一個,做

$('#' + counter).remove(); 
+0

謝謝,它的工作原理...我可以用同樣的方式選擇元素:/ + – CodeFanatic 2014-09-03 11:42:37

0

就只能使用ID選擇

function deleteme(counter) {  
      alert("Möchten sie wirklick das blau markierte Kreuz löschen?"); 
      $('#'+ counter).remove(); 
     } 
0

你在$()濫用選擇

使用方法如下:

$('#' + counter) 

總是在$中使用css-selectos,html-tags不起作用。

如果你對CSS選擇器一無所知,我建議你介紹一下css,就像codeacademy一樣。

此外,我很確定ID不能以數字開頭 - 考慮將它重命名爲「p1」或「paragraph1」或類似的東西。

一般來說,我會強烈建議http://www.codecademy.com/en/tracks/jquery這個鏈接。

+0

id =「1」只能在html5中工作,謝謝指出。已經搞清楚了,我可以在不破壞邏輯的情況下重命名它 – CodeFanatic 2014-09-03 11:44:46

+0

您仍然可以在代碼中使用'#paragrah'+ counter'。 – 2014-09-03 11:45:30

+0

創建段落過程比這更復雜一點,因此它是一個很大的應用程序。不管怎麼說,還是要謝謝你 – CodeFanatic 2014-09-03 11:46:14

0

內聯html屬性事件處理程序只能調用全局函數。你的deleteme函數不是全局的,因爲它是在文檔就緒處理程序中定義的,所以你的onclick =「deleteme()」找不到它。您需要可以移動功能的準備處理程序外(使它全球),或者更好的,結合點擊使用jQuery

$("#id").click(function() { 
    $('#' + counter).remove(); 
}); 
0

這樣做的函數可以不止一個元素被稱爲是ü要刪除

HTML

<a id="1"> 
    <p>ID von 1 XPosition 240, YPosition 53<img src="any.jpg" onclick="javascript:deleteme($(this))"/></p> 
</a> 

的Javascript

function deleteme(counter) { 
    alert("Möchten sie wirklick das blau markierte Kreuz löschen?"); 
    counter.parent('a').remove(); 
}