javascript - jquery 将 html 拆分为几个 .append

标签 javascript jquery html

我正在使用 jquery 和 jQWidgets 和选项卡进行一些测试。

我将在循环中使用 jquery .append 创建选项卡的 html 结构,但我收到有关 jQwidget 中结构的错误消息。问题是我如何附加 html。

这个例子只是为了模拟我的循环中发生的事情。

如果我像这样添加html

$('#jqxTabs').append('<ul><li>test</li><li>testar</li></ul><div id="test"></div><div id="testar"></div>');

然后它就可以工作了,但是如果我分几个步骤添加 html,那么我会从 jQwidget 收到错误

$('#jqxTabs').append('<ul>');
$('#jqxTabs').append('<li>test</li><li>testar</li>');
$('#jqxTabs').append('</ul>');
$('#jqxTabs').append('<div id="test"></div><div id="testar"></div>');

也许这是一些基本的 jquery 限制?

最佳答案

DOM不是这样工作的,您不能单独附加/插入开始结束标记。您应该将元素的表示传递给append方法,以便它可以创建元素

$('<ul></ul>') // generate an `ul` element
     .append('<li>test</li><li>testar</li>') // append some `li` elements to it
     .appendTo('#jqxTabs'); // append the `ul` to the target object

正如 @DavidThomas 在评论部分中提到的,您还可以将对象传递给 jQuery,它将使用它向生成的元素添加属性和属性:

$('<ul/>', {
    html: '<li>test</li><li>testar</li>' // jQuery calls the `html` method behind the scenes
}).appendTo('#jqxTabs');

关于javascript - jquery 将 html 拆分为几个 .append,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26450471/

相关文章:

javascript - 如何根据表格的宽度(而不是整个页面的宽度)将标题居中放置在表格上方?

html - <div> 元素在我向右浮动时内联显示?

html - 给表格中的指定列设置边框

javascript - JavaScript 中的 Dart 事件

javascript - 仅当 radio 检查了特定值时才进行验证

javascript - 向嵌套类添加新元素

javascript - 文本区域中按钮的值

javascript - 图片超链接位置

javascript - 为什么我的函数之间的 setTimeouts 不起作用?

jQuery 跨域 iframe 脚本