我创建了一个动态文本字段和按钮。我想在按钮上应用UI按钮方法,但它不起作用。以下是我的代码。
this.marketSymbolAddDialogObject
= $('<b>Symbol:</b> <input type="text" id="symbolName" class="ui-widget ui-widget-content ui-corner-all"></input>'+
'<button id="add_symbol">Add Symbol</button>'
);
var bt = this.marketSymbolAddDialogObject.find("button");
bt.button(); // **Not working**
我做错了什么。我也尝试过这个 $( “#add_symbol”)。按钮() 但没有工作。
答案 0 :(得分:1)
“按钮”不是this.marketSymbolAddDialogObject
的后代,因此对其执行find()
将导致0个匹配的元素。使用filter(),如下所示:
var bt = this.marketSymbolAddDialogObject.filter("button");
<强>找到():强>
描述:获取后代 当前集合中的每个元素 匹配的元素,由a过滤 选择器,jQuery对象或元素。
过滤器():强>
描述:减少匹配的集合 元素与那些匹配的元素 选择器或传递函数的测试。
答案 1 :(得分:0)
我相信你需要在查找工作之前先将元素添加到DOM中。
答案 2 :(得分:0)
我不熟悉jquery的'button'函数,但是你可能会觉得有用的是附加你的jquery创建的DOM元素:
this.marketSymbolAddDialogObject
= $('<b>Symbol:</b> <input type="text" id="symbolName" class="ui-widget ui-widget-content ui-corner-all"></input>'+
'<button id="add_symbol">Add Symbol</button>'
).appendTo('body');