javascript - 将 td 包装在 div 中并在 JQuery 对话框中打开该 div

标签 javascript jquery html css

我有一个页面,其中一个部分要求用户选中一个框,如果他们想要从中选择更多选项 - 页面显示额外信息的默认方式是向页面添加一个 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/

相关文章:

javascript - 让用户滚动停止scrolltop的jquery动画?

javascript - 如何将选定的 HTML 表格行值显示到 div 中以用于图像目的

javascript - 选择下一个相邻元素 JQuery

javascript - 如何在向下滚动后一一删除具有相同类的元素?

javascript - jQuery.html( something ) 检测注入(inject)何时完成

php - GET 参数是否可搜索引擎索引?

新页面加载后的 jQuery 单击事件

javascript - 如何用纯 javascript 和 html 制作 Accordion

javascript - 在 HTML5 中选择多个

javascript - webpack编译错误: TypeError: __WEBPACK_IMPORTED_MODULE_1__ … is not a function