html转换jquery,html字符串转为jquery对象后,怎么转回html字符串呢 ?

首先你要搞清楚两个问题:

一是基础数据类型和复杂数据类型的区别,基础数据类型是按指存储,复杂数据类型是按地址(或者指针存储)。

二是jquery的$()方法是什么意思:根据传入的内容返回一个jquery对象

add_attr_html变量是一个基础数据类型:字符串。$(add_attr_html)是调用jquery方法生成的一个复杂数据类型:jquery对象。然后$(add_attr_html)可以使用jquery的方法,但这些方法是对$(add_attr_html)这个对象进行操作,不是对add_attr_html这个变量进行操作。所以你虽然使用.val()方法清空了input的值,但是add_attr_html字符串还是原来的样子,所以当你再次$(add_attr_html)的时候,其实是再一次调用的$()方法对add_attr_html字符串进行了jquery对象化操作,两个次的$(add_attr_html)完全不是同一个对象,所以value值还存在。

解决方案一:用一个变量保存$(add_attr_html)就好

var $tr = $(add_attr_html);//用一个变量保存这个对象

$tr.find('input').val('');

var _html = $tr.parent().html();

解决方案二:你要处里这个需求其实你把问题复杂化了:复制一个当前节点,然后清空内容,添加到新的地方

var $tr= $(this).parents('tr').clone(true);//克隆一个目标节点,参数true可以把事件特性一起克隆过来

$tr.find('input').val('');

$(this).parents('table').append($tr);

看例子,demo

f7ad382df530e1c1019a14b2a8544af8.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值