在元素之前打开<div>并在之后关闭它

时间:2016-05-13 09:19:44

标签: javascript jquery

我正在创建一个JQuery插件。 我需要添加一些代码之前自动添加<div id="id">和之后的</div>

当我使用$('#search').before('<div id=id>')时,div会自动关闭...

这是代码:

<div id="id"></div>

<input type="text"value="" id="search"></input>
<select id="select"></select>
<table id="table"></table>
<div id="current"></div>
<div id="pagination"></div>

我需要在“#search”之前打开“div”并在“#pagination”之后关闭它

2 个答案:

答案 0 :(得分:4)

您当前代码的问题在于您只能将整个元素插入到DOM中,也就是说,如果元素包含其结束标记,则需要一个元素。

为了实现您的目标,您可以在选择所有必需元素后使用wrapAll()

$('#search, #select, #table, #current, #pagination').wrapAll('<div id="id" />');

Working example

您可以通过在所有这些元素上放置相同的类而不是单独选择它们来使维护更容易。

答案 1 :(得分:1)

你可以使用.wrap()用div包装任何元素:

$( "#search" ).wrap( "<div id='id'></div>" );