2012-10-03 22 views
0

当我将代码从textarea复制到div然后返回时,内容不再相同。为什么从textarea复制到div并且不保存状态?

<!doctype html> 
<html> 
<head> 
</head> 
<body> 
<textarea id="ta" rows="10" cols="120"><p> "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation <ul><li>sfsD</li><li>sf234fw</li></ul> ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." </p></textarea> 
<br> 
<button>Button</button> 
<div id="container"></div> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $('button').click(function(){ 
      $('#container').html($('#ta').val()); 
      $('#ta').val($('#container').html()); 
     }); 
    </script> 
</body> 
</html> 

所以,当我从textarea文本复制到div一切都很好。但是当我从div复制回textarea时,数值现在为

<p> "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
Ut enim ad minim veniam, quis nostrud exercitation </p> 
<ul><li>sfsD</li><li>sf234fw</li></ul> ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in 
reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, 
sunt in culpa qui officia deserunt mollit anim id est laborum." <p></p> 

我不知道为什么会发生这种情况或如何解决它?有任何想法吗?这发生在FF和铬中。

+0

将你的内容从textarea复制到div的原因是什么 - 可能有更好的地方存放它(只要你不需要它可见)?如果这将成为任何旧用户可以输入的textarea,则会有许多其他情况可能会自动更正您的标记。 – Pebbl

回答

0

,因为html()返回标记。也许你需要text()

1

使用$('#ta').val($('#container').text());

1

的区别,我可以看到的是下跌的事实,要放置标记非法,ULs没有内P代码所允许的......基本问题两种浏览器将打破P他们发现其他块级别的元素 - 它们基本上是为你自动修改你的标记。

如果您要将它们作为标记放置在textarea中的标记复制给您,下次测试按钮时不会发生变化。

1

val()返回值(这可能意味着许多不同的事情取决于元素是什么),而html()返回标记。

你不能混合和匹配两个电话,并期望你的输入匹配你的输出 - 选择一个或另一个来满足你的需求。

相关问题