相关疑难解决方法(0)

获取所选元素的外部HTML

我正在尝试使用jQuery获取所选对象的HTML.我知道这个.html()功能; 问题是我需要包含所选对象的HTML(在这种情况下是一个表行,其中.html()只返回行内的单元格).

我已经四处搜索并发现了一些克隆对象的非常"hackish"类型的方法,将它添加到新创建的div等等,但这看起来真的很脏.有没有更好的方法,或新版本的jQuery(1.4.2)是否提供任何类型的outerHtml功能?

jquery

780
推荐指数
12
解决办法
44万
查看次数

jquery克隆元素在变量中被改变

编辑:

现在在jsbin.com/ivukar/10上的工作示例


这是我正在尝试做的事情,总结到核心步骤,没有对你来说毫无意义的所有细节:

  1. 从DOM克隆现有div并将该克隆存储在变量中
  2. 从DOM中删除该div
  3. 将克隆的div附加到DOM中
  4. 更改DOM中div的HTML内容
  5. 删除div并再次插入克隆

现在按照这些步骤,假设我们div的HTML内容是"test",我希望如下:

  1. 变量使div与内容"test"一起存储
  2. Div从DOM中删除
  3. Div附加到内容为"test"的DOM
  4. 页面上的Div改为内容"已更改"
  5. 删除页面上的Div.Div再次使用内容"test"附加到正文,因为它存储在变量中,不应该受到DOM更改的影响

然而,只要我对元素的html内容进行了更改,就会发生这样的事情:例如:$('#element').html('altered');它也会改变变量的内容......

我不明白为什么它会这样做,因为变量只有在将它附加到DOM时才被引用,我不会改变变量的内容......

这是一个JsBin链接,所以你可以看到我的意思.

或者这里是示例代码:

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script>
var saved = '';

function my_clone()
{
saved = $('#el').clone();
$('#output').append("<a href='#' onclick='my_remove();'>Remove version on screen</a> ----- This removes any element with the id 'el'<br>");
}

function my_remove()
{

$('#el').remove();
$('#output').append("<a href='#' onclick='my_append();'>Append clone to body</a> ----- This takes the cloned object stored in the variable 'saved' and appends it to …
Run Code Online (Sandbox Code Playgroud)

javascript jquery clone

5
推荐指数
1
解决办法
3330
查看次数

标签 统计

jquery ×2

clone ×1

javascript ×1