2016-11-15 117 views
0

對於jquery,我相當新手,所以如果這沒有多大意義,那麼讓我試着解釋一下。無法使用jquery從類標籤中獲取元素/屬性

我目前有一個部分,當我點擊文本時,它會創建一個新行並填充一個「默認」按鈕。我遇到的問題是每當我點擊它時,它都會填充一個空白元素(請參閱「結果即時獲取」),而不是按鈕本身(請參閱「我想要的內容」)。

我附上我的代碼,非常感謝任何幫助。

var row = $("<DIV></DIV>").addClass("row resource").attr("resource", "new"); 
var label = $("<SPAN></SPAN>").addClass("label imaged").text("New resource"); 
label.append($("<SPAN>&nbsp</SPAN>").addClass("defaultJobType").attr("title", "defaultJobType")); 
<SPAN class="defaultJobType"><input id = "setDefaultJobType" type="submit" name="Default" value="Set Default"/>&nbsp</SPAN> 

結果即時得到

<span class="defaultJobType" title="defaultJobType">&nbsp;</span> 

什麼,我想這是

<span class="defaultJobType"><input id="setDefaultJobType" type="submit" name="Default" value="Set Default">&nbsp;</span> 
+0

你能請張貼所有的R優先代碼。這是缺少點擊處理程序,並且你正在附加你創建的HTML。你也不會在你的代碼中的任何地方創建'input'元素 - 因此爲什麼它不在輸出 –

回答

1

做以下,

var row = $("<DIV></DIV>").addClass("row resource").attr("resource", "new"); 

var label = $("<SPAN></SPAN>").addClass("label imaged").text("New resource"); 
var spanEl = $("<SPAN>&nbsp</SPAN>").addClass("defaultJobType"); 
spanEl.append($("<input id = 'setDefaultJobType' type='submit' name='Default' value='Set Default'/>"));   

label.append(spanEl); 
+0

完美,非常感謝:) –

+0

也許我很快就會談到,但是,輸入id = setDefaultJobType實際上並不會觸發實際的setDefaultJobType功能。任何想法爲什麼? –

+0

您需要在新創建的元素上綁定事件。我不確定你的整個邏輯或代碼是什麼,所以只能建議你。另外,如果您是通過JavaScript創建元素,那麼請確保將它們綁定到正確的父級。這裏輸入應該附加到表單元素中。 – ScanQR