Javascript ID作为<;的事件参数;部门>;在jquery中
如何在函数中传递参数以创建ID?例如,在下面的例子中,我希望ID\u Name被视为Javascript ID作为<;的事件参数;部门>;在jquery中,javascript,html,jquery-ui,jquery,Javascript,Html,Jquery Ui,Jquery,如何在函数中传递参数以创建ID?例如,在下面的例子中,我希望ID\u Name被视为ID。下面的方法不起作用。只是为了表明我的意图 function create_drags(ID_Name) { $("BODY").append($('<div ID="ID_Name" class="ui-widget-content"><p>Draggable </p></div>')); $(ID_Name).draggable(); }
ID。下面的方法不起作用。只是为了表明我的意图
function create_drags(ID_Name) {
$("BODY").append($('<div ID="ID_Name" class="ui-widget-content"><p>Draggable </p></div>'));
$(ID_Name).draggable();
}
函数创建拖动(ID\U名称){
$(“正文”).append($('Draggable');
$(ID_Name).draggable();
}
如何做到这一点?更新:
这是一把小提琴,你可以试一试
字符串连接有两个问题
分配Id时的第一个值。
您键入的不是
ID=“ID\u Name”
而是ID=“+ID\u Name+”
,然后JavaScript将ID\u Name作为变量而不是字符串文本进行计算
$("BODY").append($('<div ID="'+ID_Name+'" ...'
函数创建拖动(ID\U名称){
$(“正文”).append($('Draggable');
$('#'+ID_Name).draggable();
}
在选择新添加的div时,还缺少一个“#”。您可以使用字符串连接来包含
ID\u Name
的值,或者您可以使用jQuery创建单个DOM元素,并设置要对其执行的属性/属性,以及调用任何其他jQuery函数。代码如下所示:
function create_drags(ID_Name) {
var $div = $('<div/>').attr('id', ID_Name).addClass('ui-widget-content').draggable();
$div.append('<p>Draggable </p>');
$("BODY").append($div);
}
函数创建拖动(ID\U名称){
var$div=$('').attr('id',id_Name).addClass('ui-widget-content').draggable();
$div.append(“Draggable”);
$(“正文”)。追加($div);
}
您可以使用自定义属性传递变量
<div id="div_id" custom-attr="other_id"></div>
函数创建拖动(ID\U名称){
$(“正文”)。附加(
$(“Draggable”)
);
$(ID_Name).draggable();
}
或者类似jQuery的方式:
function create_drags(ID_Name) {
$("body").append(function(){
var $div = $("<div/>");
$div.attr("id", ID_NAME);
$div.addClass("ui-widget-content");
$div.append("<p>Draggable</p>");
$div.draggable();
return $div;
});
}
函数创建拖动(ID\U名称){
$(“body”).append(函数(){
变量$div=$(“”);
$div.attr(“id”,id\u NAME);
$div.addClass(“ui小部件内容”);
$div.append(“Draggable”);
$div.draggable();
返回$div;
});
}
这将解决问题,并避免在刚创建的元素上使用选择器:
function create_drags(ID_Name) {
$('<div id="'+ ID_Name +'" class="ui-widget-content"><p>Draggable</p></div>')
.appendTo('body')
.draggable();
}
函数创建拖动(ID\U名称){
$(“Draggable”)
.appendTo('正文')
.draggable();
}
我想你指的是ID=“+ID\u Name+”,还值得一提的是$(ID\u Name).draggable()
应更改为$('#'+ID_Name).draggable()代码>我想这对创建内容很有效,但如果我使用$(“#+ID_Name+”)之类的东西,我仍然无法调用draggable。draggable或$(“#ID_Name”)。draggable。我做的有什么不对吗?我想这对创建内容有用,但我仍然不能将draggable称为$('#'+ID_Name).draggable();我尝试了双引号和其他方法,但似乎都不起作用。谢谢,我把无效的字符串内容传递给create_drag函数是我的错误。谢谢。
$("#div_id").attr("custom-attr");
function create_drags(ID_Name) {
$("BODY").append(
$('<div ID="'+ID_Name+'" class= "ui-widget-content"><p>Draggable </p></div>')
);
$(ID_Name).draggable();
}
function create_drags(ID_Name) {
$("body").append(function(){
var $div = $("<div/>");
$div.attr("id", ID_NAME);
$div.addClass("ui-widget-content");
$div.append("<p>Draggable</p>");
$div.draggable();
return $div;
});
}
function create_drags(ID_Name) {
$('<div id="'+ ID_Name +'" class="ui-widget-content"><p>Draggable</p></div>')
.appendTo('body')
.draggable();
}