2016-04-18 29 views
2

随着我有我的HTML标记的方式....更改HTML元素而忽略最后一个子

<textarea></textarea> 
<div class="body"> 

    <div class="content">don't change this</div> 
</div> 

是否有可能改变.body中HTML不改变.content中HTML?

编辑

我的工作我的代码编辑器,我在这种情况下<script>代码被替换.content,并<body>代码被替换.body

对于我的情况,.before API似乎是最好的解决方案,除非只添加3个字符(例如lol)。在.body结果是(前。lolollol)

$('textarea').keyup(function() { 
 
    $('.content').before(this.value) 
 
    return false 
 
}).trigger('keyup')
textarea { 
 
    width: 98%; 
 
    height: 100px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<textarea></textarea> 
 
<div class="body"> 
 
    
 
    <div class="content">don't change this</div> 
 
</div>

+0

这取决于变化是什么。它是风格,事件等吗? – zer00ne

+0

我正在处理我的代码编辑器,在这种情况下,我的

3

一种解决方法是在重新设置html()得到参考.content元素和append()回到.body元素。试试这个:

$("textarea").keyup(function() { 
 
    var $content = $('.content'); 
 
    $(".body").html(this.value).append($content); 
 
}).trigger("keyup")
textarea { 
 
    width: 98%; 
 
    height: 100px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<textarea></textarea> 
 
<div class="body"> 
 
    <div class="content">don't change this</div> 
 
</div>

+0

我想避免在每个keyup上附加'.content'。 (我正在处理我的代码编辑器,在这种情况下,我的