Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何删除动态生成的DIV的lastchild元素并将html作为字符串返回_Javascript_Jquery_Html_Jquery Ui - Fatal编程技术网

Javascript 如何删除动态生成的DIV的lastchild元素并将html作为字符串返回

Javascript 如何删除动态生成的DIV的lastchild元素并将html作为字符串返回,javascript,jquery,html,jquery-ui,Javascript,Jquery,Html,Jquery Ui,如何删除动态生成的div的最后一个子项并将html重新生成为字符串。 示例HTML DIV strHtmlString = "<div contenteditable='true' id='undefined'>Test1</div> <div contenteditable='true' id='sentenceFreeTextField67' type='sentenceFreeTextField'>One</div> <

如何删除动态生成的div的最后一个子项并将html重新生成为字符串。 示例HTML DIV

strHtmlString = "<div contenteditable='true' id='undefined'>Test1</div>
    <div contenteditable='true' id='sentenceFreeTextField67' type='sentenceFreeTextField'>One</div>
    <div id='multiselectAnchors' type='multi'>
        <div id='options32' >Two</div>
        <div contenteditable='true' id='sentenceFreeTextField68' type='sentenceFreeTextField'>One</div>
    </div>
    <div id='blank4' contenteditable='true' type='blankField'>&nbsp;&nbsp;&nbsp;</div>
    <div id='Div1' type='multi'>
        <div id='options33' >Three</div>
        <div contenteditable='true' id='sentenceFreeTextField69' type='sentenceFreeTextField'>One</div>
    </div>"
strHtmlString=“Test1
一个
两个
一个
三
一个
"
下面是代码示例

if (($('<DIV/>').html(strSentence)[0].lastChild.lastChild.type === 'sentenceFreeTextField') && (!$.trim($('<DIV/>').html(strSentence)[0].lastChild.lastChild.innerText))) {

strHtmlString = $('<DIV/>').html(strSentence)[0].lastChild.lastChild.remove().html; (this remove().html doesn't work) 

}
if($('').html(strContent)[0].lastChild.lastChild.type=='sentenceFreeTextField')&(!$.trim($('').html(strContent)[0].lastChild.lastChild.innerText))){
strHtmlString=$('').html(strContent)[0].lastChild.lastChild.remove().html;(此remove().html无效)
}

需要在运行时删除div的最后一个子项,并像以前一样转换回string。我可以进行字符串操作,但可能不是正确的方法,请建议动态生成DIV:

$('body').append('<div>');
获取最后一个子项的HTML(更具体地说,是
innerHTML
):

一起做,然后转身:

var $lastChildHTML = $('body').append('<div>').find('div').last().html();
var$lastChildHTML=$('body').append('').find('div').last().html();

这就是它的全部内容。

动态生成一个DIV:

$('body').append('<div>');
var last = $(element).children(':last-child');
var html = $(last).html();
$(last).remove();
var newHtml = $(element).html();
//incase you want the html with it's parent as well do this
var newHtml = $(element).parent().html();
获取最后一个子项的HTML(更具体地说,是
innerHTML
):

一起做,然后转身:

var $lastChildHTML = $('body').append('<div>').find('div').last().html();
var$lastChildHTML=$('body').append('').find('div').last().html();
这就是它的全部内容。

var el=$(strHtmlString);
var last = $(element).children(':last-child');
var html = $(last).html();
$(last).remove();
var newHtml = $(element).html();
//incase you want the html with it's parent as well do this
var newHtml = $(element).parent().html();
//我不知道你说的最后一个孩子是什么意思,所以拿着身份证 el.children().find(“#sentenceFreeTextField69”).remove(); var str=el.wrap(“”.parent().html()
var el=$(strHtmlString);
//我不知道你说的最后一个孩子是什么意思,所以拿着身份证
el.children().find(“#sentenceFreeTextField69”).remove();
var str=el.wrap(“”.parent().html()

哪一个是最后一个子div?哪一个是最后一个子div?
$(element.html()
是innerHTML,不包含元素itself@MoazzamKhanOP请求将HTML作为string@Ozzy我的意思是,innerHTML没有将元素本身作为字符串。@MoazzamKhan这很重要(然后您需要outerHTML)除了OP没有明确表示要返回哪个元素的HTML外。@Ozzy-他说-`像以前一样转换回字符串`
$(element.HTML()
是innerHTML,不包含元素itself@MoazzamKhanOP请求将HTML作为string@Ozzy我的意思是,innerHTML没有将元素本身作为字符串。@MoazzamKhan这很重要(然后您需要outerHTML)除了OP没有明确指出他要返回哪个元素的HTML。@Ozzy-他说-`convert back to string as is previous`如果div中的最后一个子元素类型为'sentenceFreeTextField',且其值为空,则删除该最后一个子元素并重新生成整个HTML删除sentenceFreeTextField69 div resulthtmlstring=oldhtmlstring-One如果div中的最后一个子项类型为“sentenceFreeTextField”,且其值为空,则删除此最后一个子项并重新生成整个html删除sentenceFreeTextField69 div resulthtmlstring=oldhtmlstring-One
var el = $(strHtmlString);
// dont know what you meant by last child, so taking the id
el.children().find("#sentenceFreeTextField69").remove();

var str = el.wrap("<div/>").parent().html()