说我有
$(":input[type=text]:first")
Run Code Online (Sandbox Code Playgroud)
如何得到
<input type="text" value="" size="28" maxlength="140" tabindex="1" placeholder="search" class="textbox" name="q" autocomplete="off">
Run Code Online (Sandbox Code Playgroud)
假设我在SO上运行它?
更新我不想打电话,.parent()因为我在父元素中有很多其他东西.
我知道如何从单个元素中删除属性,已经有一些帖子:
$("div.preview").removeAttr("style");
Run Code Online (Sandbox Code Playgroud)
这是HTML代码:
<div class="preview" style="background-color:white">
<p>Some text<span style="font-size:15px;">some text</span></p>
some more code
</div>
Run Code Online (Sandbox Code Playgroud)
问题是,这将仅从预览div中删除样式属性.我想从div中的所有元素中删除.这只是一个例子,在实际场景中会有更广泛的html.
有没有简短的方法呢?
更新:太好了,我现在知道怎么做了.但是如果将html作为存储在变量中的字符串发送到函数会怎样.而不是
$("div.preview")
Run Code Online (Sandbox Code Playgroud)
我有
var string = '<div class="preview"><p style='font-size:15px;'>....</p><div>'
Run Code Online (Sandbox Code Playgroud)
有没有办法说下面这样的东西?
$(string).find(*).removeAttr("style");
Run Code Online (Sandbox Code Playgroud) 我想从DOM中检索某个带有其属性的标记元素.例如,来自
<a href="#" class="class">
link text
</a>
Run Code Online (Sandbox Code Playgroud)
我希望得到<a href="#" class="class">,可选择关闭</a>,作为字符串或其他对象.在我看来,这类似于检索.outerHTML没有的.innerHTML.
最后,我需要通过jQuery包装其他一些元素.我试过了
var elem = $('#some-element').get(0);
$('#some-other-element').wrap(elem);
Run Code Online (Sandbox Code Playgroud)
但.get()返回包含其内容的DOM元素.也
var elem = $('#some-element').get(0);
$('#some-other-element').wrap(elem.tagName).parent().attr(elem.attributes);
Run Code Online (Sandbox Code Playgroud)
失败,因为elem.attributes返回a NamedNodeMap不能与jQuery一起工作,attr()我无法转换它.承认上面的例子不是很有意义,因为它们还复制了元素的不再唯一ID.但有什么简单的方法吗?非常感谢.
当你想要得到的HTML整个DOM元素(包括包装),你可以做以下(如解释在这里):
$('#myElementId')[0].outerHTML
Run Code Online (Sandbox Code Playgroud)
但是,你不能做的是叫outerHTML上$(this)内如点击收听或选择函数体范围:
$(this).outerHTML //Doesn't complete in IntelliSense, returns undefined in browser
Run Code Online (Sandbox Code Playgroud)
要么
$(this)[0].outerHTML //Correction, this DOES work, but it doesn't complete in IntelliSense
Run Code Online (Sandbox Code Playgroud)
因为IntelliSense不会显示innerHTML或outerHTML在这种情况下,尽管使用vanilla JavaScript,您可以执行以下操作:
document.getElementById($(this).attr('id')).outerHTML
Run Code Online (Sandbox Code Playgroud)
那么......那是什么呢?
javascript intellisense jquery javascript-intellisense visual-studio-2013
我试图找出如何检索完整(这意味着所有的数据)的HTML页面源来自<iframe>其src来自同一原始域作为它嵌入页面.我想在任何给定时间获得确切的源代码,由于Javascript或php生成<iframe>html输出,这可能是动态的.这意味着AJAX调用$.get()对我来说不起作用,因为页面可能已经通过Javascript修改或根据请求时间或mt_rand()在php中唯一生成.我无法<!DOCTYPE>从我的身上找到确切的声明<iframe>.
我一直在试验并搜索Stack Overflow并且没有找到一个解决方案来检索所有页面源代码,包括<!DOCTYPE>声明.
一位在回答如何获得与jQuery整个页面的HTML?建议,为了检索<!DOCTYPE>信息,你需要手动构造此声明,通过检索<iframe>的document.doctype属性,然后将所有的属性到<!DOCTYPE>申报自己.这真的是从<iframe>HTML页面源中检索此信息的唯一方法吗?
以下是我看过的一些值得注意的Stack Overflow帖子,这不是重复的:
下面是我的一些本地测试代码,说明到目前为止我最好的尝试,只检索内包括数据<iframe>的<html>标签:
main.html中
<html>
<head>
<title>Testing with iframe</title>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
function test() {
var doc = document.getElementById('iframe-source').contentWindow.document;
var html = $('html', doc).clone().wrap('<p>').parent().html();
$('#output').val(html);
}
</script>
</head>
<body>
<textarea id="output"></textarea> …Run Code Online (Sandbox Code Playgroud) <div>
<a href="#" class="selected">link1</a>
<a href="#">link1</a>
</div>
Run Code Online (Sandbox Code Playgroud)
并使用以下
$('.selected').html() 我明白了
link1
作为回报值.
如何获取所选DOM元素的完整html代码,在此示例中获取
<a href="#" class="selected">link1</a>
代替?
谢谢
我正在创建一个html节点jQuery(样本是标签,<input>但可以是任何类型):
var x = $("<input>");
Run Code Online (Sandbox Code Playgroud)
然后我通过一系列.prop()函数添加它的属性:
x.prop("id", ...).prop("class", ...);
Run Code Online (Sandbox Code Playgroud)
现在某个插件不支持JQuery对象,而是HTML字符串,所以我通过这个调用插件:
var n = plugin.method1(x.html())
Run Code Online (Sandbox Code Playgroud)
我虽然会工作但.html()返回一个空字符串.虽然有人说如果我先将它附加在DOM树上,它将被解决.如何在不首先在DOM树中附加HTML字符串的情况下获取其HTML字符串?
我想得到html包括我用来获取html的选择器
让我说我有
<div id="foo">
<div id="bar">content</div>
</div>
Run Code Online (Sandbox Code Playgroud)
当我做$('#foo').html()我得到
<div id="bar">content</div>
Run Code Online (Sandbox Code Playgroud)
是否有一种方法在jquery中获取整个html包括父(selector div)
我想要这整个HTML
<div id="foo">
<div id="bar">content</div>
</div>
Run Code Online (Sandbox Code Playgroud) 我正在尝试将此代码用于rails:
$(elem).popover({
title:"Brake activity",
content: $("<div>").append( $("#slider").slider({
range: "max",
max: maxValue,
min: maxValue / 5,
value: maxValue / 2}) ).eq(0).outerHTML(),
trigger: "manual"});
Run Code Online (Sandbox Code Playgroud)
几乎一切都很顺利,但滑块没有用 - 它似乎被禁用了.即使我将禁用的选项定义为false,我也得到了相同的结果.outerHTML()方法是从Get selected元素的外部HTML中提取的.
我上传了一个屏幕截图,显示了滑块的显示方式:http://i48.tinypic.com/24azpkm.png
jQuery.parseHTML()产生一个数组.我正在寻找一种方法将其转换回字符串.这是我的首要问题.
是parseHTML()将字符串视为html的唯一方法吗?
从根本上说,我将我的字符串解析为html,这样我就可以使用find()jQuery的函数来匹配某个元素,然后只对该部分代码执行替换(有关更多详细信息,请参阅我之前的问题).那么,解析为必要的HTML吗?