使用jquery.html()获取元素本身的html

get the html of element itself using jquery .html()

本文关键字:html 元素 jquery 使用 获取      更新时间:2023-09-26

如何使用Jquery html获取元素本身的html。在下面的代码中,我想在下面使用JQuery作为shwon获得div中的输入元素

<div id="content">content div</div>
<input type='text' id="scheduledDate" class="datetime" />
$(function() {
   console.log($('#scheduledDate').html('dsadasdasd'));
    $('#content').html($('#scheduledDate').html());
});

编辑:

我能得到$("#scheduledDate")作为字符串吗?它代表输入框的真实html代码,因为我的最终要求是我想把它传递给其他一些SubView(我使用的是backboneJS),并最终在一个dust文件中使用该html代码。我最初的要求是将输入字段作为字符串,这样我就可以将其传递给其他函数。我知道,如果我把它放在DIV或其他容器中,我可以使用JQuery的.html方法获得html。我不想用其他的。我只是试图使用输入框的id来获取输入框本身的html内容。

如果您想将输入元素移动到div中,请尝试以下操作:

$('#content').append($('#scheduledDate'));

如果您想将输入元素复制到div中,请尝试以下操作:

$('#content').append($('#scheduledDate').clone());

注意:在移动或复制元素之后,可能需要再次注册事件侦听器。

$(function() {
    var content = $('#content');
    var scheduledDate = $('#scheduledDate');
    content.empty();
    content.append(scheduledDate.clone());
});

正如原作者所说,他们明确想要输入的html:

$(function() {
    var scheduledDate = $('#scheduledDate').clone();
    var temporaryElement = $('<div></div>');
    var scheduleDateAsString = temporaryElement.append(scheduledDate).html();
    // do what you want with the html such as log it
    console.log(scheduleDateAsString);
    // or store it back into #content
    $('#content').empty().append(scheduleDateAsString);
});

是我将如何实现这一点。请参阅下面的工作示例:https://jsfiddle.net/wzy168xy/2/

一个普通或纯JavaScript方法,可以做得更好。。。

scheduledDate.outerHTML //HTML5

或通过呼叫

document.getElementById("scheduledDate").outerHTML //HTML4.01 -FF.

应该执行/返回相同的操作,例如:

>>  '<input id="scheduledDate" type="text" value="" calss="datetime">'

如果这是你想要的小提琴

你说"卡尔斯"是什么意思?:-)

这可以通过以下方式实现:

1.输入框移动到div,div内容与添加的输入一起保留

$(document).ready(function() {
var $inputBox = $("#scheduledDate");
$("#content").append($inputBox);
});

2.div替换为输入框的副本(如nnn所指出的)

$(document).ready(function() {
    var $inputBox = $("#scheduledDate");
    var $clonedInputBox = $("#scheduledDate").clone();
    $("#content").html($clonedInputBox);
    });
  1. Div被原来的输入框取代

    $(document).ready(function){

    var $inputBox = $("#scheduledDate");
    $("#content").html($inputBox);
    });
    

https://jsfiddle.net/atg5m6ym/4485/

编辑1:要在div内部获得字符串形式的输入html,请使用以下

$("#scheduledDate").prop('outerHTML')

这将把html作为字符串提供给输入对象检查这个js小提琴,并告诉这是否是你需要

https://jsfiddle.net/atg5m6ym/4496/