简体   繁体   English

在另一个jQuery之前插入一个HTML元素

[英]Insert one HTML element before another jQuery

I wonder how to insert an HTML element before another with jQuery. 我想知道如何用jQuery在另一个元素之前插入HTML元素。 It is also important to be able to get the content of the new element out of an input. 能够从输入中获取新元素的内容也很重要。 Something like that, but working : 这样的东西,但工作:

 var input = $("#theInput").val();

 var content = document.createElement("p");

 content.appendChild(document.createTextNode(input));

 $("div").insertBefore(content);

尝试这个:

$("div").prepend(content);

See below example: 请参见以下示例:

HTML Structure: HTML结构:

<div class="container">
  <h2>Greetings</h2>
  <div class="inner">Hello</div>
</div>

Jquery: jQuery的:

$( ".inner" ).before( "<p>Test</p>" );

Result (HTML): 结果(HTML):

<div class="container">
  <h2>Greetings</h2>
  <p>Test</p>
  <div class="inner">Hello</div>
</div>

EDIT: 编辑:

Please see sample below, it takes value from text box and insert it before 请参见下面的示例,它从文本框中获取值并插入之前

HTML Structure: HTML结构:

<div id="content">
<input type="text" value="textboxvalue" > <br/><br/>
<span>Insert text box value befor this one</span>    
</div>

JQUERY: JQUERY:

var inputval = $("#content input").val();
$( "#content span" ).before( "<p>" + inputval + "</p>" );

JSFIDDLE 的jsfiddle

Option 1 - Just using jQuery: 选项1-仅使用jQuery:

var input = $("#theInput").val();
$("<p />")                       // Create a paragraph element.
    .text( input )               // Set the text inside the paragraph to your input.
    .insertBefore( $( "div" ) ); // Insert the paragraph before the div element(s).

Option 2 - Modifying your code: 选项2-修改您的代码:

var input = $("#theInput").val(),
    content = document.createElement("p");
content.appendChild(document.createTextNode(input));
$( content ).insertBefore( $( "div" ) );

Option 2a - Or you can change the last line to: 选项2a-或者您可以将最后一行更改为:

$( "div" ).before( content );

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM