我有一个页面,其中一个部分要求用户选中一个框,如果他们想要从中选择更多选项 - 页面显示额外信息的默认方式是向页面添加一个 td(是的是一个表格布局,不,我没有那样构建页面,它是这样交给我的)。我正在尝试使用 jquery .wrap 将该 td 包装在一个 div 中,然后立即使用 .dialog 在对话框中显示该新 div。我可以使用 chrome 的控制台让它工作,但是将代码放在我的 js 文件中它不再工作并且只显示为 td。
我不得不以一种迂回的方式选择 td:
if($('#idCustomDIV').length){
$("#idCustomDIV").parent().attr("ID", "big-repeating-box");
如此大的重复框是我包装在 div 中的 td,如下所示:
$('#checkbox').change(function(){
if(this.checked){
$('#big-repeating-box').wrap('<div id="repeating-popup"></div>')
$('#repeating-popup').dialog();
}
});
我试过在 .wrap 之前添加一个延迟,我想也许它试图在 div 具有我试图选择它的 id 之前包装它,但这没有用。任何帮助将不胜感激!
最佳答案
我今天早上弄明白了。首先,作为对@Paulie_D 的回应,我认为将 td 粘贴到 div 中可能不是有效的 HTML - 即使它确实有效。然后我意识到,与其尝试获取它们的元素,给它一个 ID,然后对其执行某些操作,我还可以简单地获取该元素并对其执行我想要的操作,而无需更改它的属性。所以我更改了我的初始代码,不获取 td,而是获取它的父表,并将它包装在一个 div 中,然后将我创建的那个 div 放入对话框中,它就像一个魅力。
if($('#idCustomDIV').length){
$("#idCustomDIV").parent().parent().parent().parent().wrap('<div id="repeating-popup"></div>')
$('#repeating-popup').dialog();
关于javascript - 将 td 包装在 div 中并在 JQuery 对话框中打开该 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29125820/