2016-11-15 113 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