如何将jQuery对象转换为字符串?
当前回答
你能说得更具体一点吗?如果你想让HTML在一个标签里面,你可以这样做:
HTML代码片段:
<p><b>This is some text</b></p>
jQuery:
var txt = $('p').html(); // Value of text is <b>This is some text</b>
其他回答
如果你想对一个HTML元素进行字符串化,以便将它传递到某个地方并解析回一个元素,请尝试为该元素创建一个唯一的查询:
// 'e' is a circular object that can't be stringify
var e = document.getElementById('MyElement')
// now 'e_str' is a unique query for this element that can be stringify
var e_str = e.tagName
+ ( e.id != "" ? "#" + e.id : "")
+ ( e.className != "" ? "." + e.className.replace(' ','.') : "");
//now you can stringify your element to JSON string
var e_json = JSON.stringify({
'element': e_str
})
than
//parse it back to an object
var obj = JSON.parse( e_json )
//finally connect the 'obj.element' varible to it's element
obj.element = document.querySelector( obj.element )
//now the 'obj.element' is the actual element and you can click it for example:
obj.element.click();
不需要克隆和添加到DOM使用.html(),你可以做:
$('#item-of-interest').wrap('<div></div>').html()
找出HTML节点(对象)可用的属性和方法的最好方法是这样做:
console.log($("#my-node"));
从jQuery 1.6+你可以使用outerHTML包括HTML标签在你的字符串输出:
var node = $("#my-node").outerHTML;
只需使用.get(0)来获取本机元素,并获取其outerHTML属性:
var $elem = $('<a href="#">Some element</a>');
console.log("HTML is: " + $elem.get(0).outerHTML);
在jQuery 1.6中,这似乎是一个更优雅的解决方案:
$('#element-of-interest').prop('outerHTML');
推荐文章
- 给一个数字加上st, nd, rd和th(序数)后缀
- 在jQuery中的CSS类更改上触发事件
- jQuery日期/时间选择器
- 我如何预填充一个jQuery Datepicker文本框与今天的日期?
- jQuery添加必要的输入字段
- JavaScript错误(Uncaught SyntaxError:意外的输入结束)
- navigator。gelocation。getcurrentposition有时有效有时无效
- 我如何使用jQuery按字母顺序排序一个列表?
- 如何在jQuery检索复选框值
- 停止缓存jQuery .load响应
- 为什么带有对象的typeof数组返回“对象”而不是“数组”?
- 使用jQuery动画addClass/removeClass
- 是否有可能收听“风格改变”事件?
- Moment.js中的弃用警告-不是公认的ISO格式
- 删除URL参数,不刷新页面