相关疑难解决方法(0)

jQuery将DOM元素作为字符串

说我有

$(":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()因为我在父元素中有很多其他东西.

javascript jquery

18
推荐指数
3
解决办法
3万
查看次数

jQuery从ALL元素中删除样式属性

我知道如何从单个元素中删除属性,已经有一些帖子:

$("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)

html jquery

15
推荐指数
2
解决办法
4万
查看次数

获取包含属性的开始标记 - 没有innerHTML的outerHTML

我想从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.但有什么简单的方法吗?非常感谢.

javascript jquery dom innerhtml outerhtml

14
推荐指数
2
解决办法
2444
查看次数

你为什么不能在$(this)上调用outerHTML?

当你想要得到的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不会显示innerHTMLouterHTML在这种情况下,尽管使用vanilla JavaScript,您可以执行以下操作:

document.getElementById($(this).attr('id')).outerHTML
Run Code Online (Sandbox Code Playgroud)

那么......那是什么呢?

javascript intellisense jquery javascript-intellisense visual-studio-2013

14
推荐指数
3
解决办法
3237
查看次数

是否可以使用Javascript检索iframe的*full*HTML页面源?

我试图找出如何检索完整(这意味着所有的数据)的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)

javascript iframe jquery doctype dom

9
推荐指数
1
解决办法
3145
查看次数

使用jQuery获取自己的HTML代码

<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>

代替?

谢谢

jquery

7
推荐指数
3
解决办法
3万
查看次数

获取分离的JQuery对象的外部HTML

我正在创建一个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 javascript jquery

7
推荐指数
1
解决办法
5004
查看次数

获取完整的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)

javascript jquery

6
推荐指数
1
解决办法
456
查看次数

在Bootstrap popover中嵌入jQuery滑块

我正在尝试将此代码用于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 jquery-ui popover jquery-slider twitter-bootstrap

6
推荐指数
1
解决办法
2417
查看次数

jQuery.parseHTML的反向

  1. jQuery.parseHTML()产生一个数组.我正在寻找一种方法将其转换回字符串.这是我的首要问题.

  2. parseHTML()将字符串视为html的唯一方法吗?

  3. 从根本上说,我将我的字符串解析为html,这样我就可以使用find()jQuery的函数来匹配某个元素,然后只对该部分代码执行替换(有关更多详细信息,请参阅我之前的问题).那么,解析为必要的HTML吗?

javascript jquery

6
推荐指数
1
解决办法
7624
查看次数