【问题标题】:get html from a variable by id通过 id 从变量中获取 html
【发布时间】:2016-12-06 12:49:59
【问题描述】:

我的 javascript 代码中有一个变量名称值,其中包含 html 数据。我想在#myDiv 中获取表单特定 id 中的数据

  var value="<div >
             <p class="">Hi cname@gmail.com</p>
             <br/>
            <br/>
            <br/>
            <div id="myDiv">
              sgdhsagdhagh
              dhsajdgasj
              cjzjcg
              </div>

            </div>"

谢谢

【问题讨论】:

  • $(value).filter('#myDiv').html()
  • 它会像这样工作 $(value).find('#myDiv').html() 无论如何谢谢
  • 考虑接受对您帮助最大的答案,这是表示感谢的最佳方式,请参阅meta.stackexchange.com/questions/5234/…

标签: javascript jquery angularjs node.js


【解决方案1】:

你这样做怎么样?

var variable = "stuff n things";
document.getElementById( 'myDiv' ).innerHTML = variable;

这是原生方式:)

编辑:

如果您想获取数据,您只需这样做:

var variable = document.getElementById( 'myDiv' ).innerHTML;

这将为您提供 div 内内容的标记。

或者使用document.querySelector("#myDiv") 来获取selector.querySelectorAll 返回数组上的第一个匹配项。

【讨论】:

  • 问题是“想要在#myDiv 中获取表单特定id 中的数据”,这正是这样做的
  • @25r43q 实际上不是这样。该变量包含 HTML,他想从该 HTML 中获取某个 ID 的内容。
  • @PierreDuc 什么?好的,我会尝试扩展我的答案。
  • @25r43q 问题是HTML 尚未(尚未)附加到文档中。所以document.getElementById 不起作用
  • 如果js在markup下面就不需要document ready函数了,如果js被事件触发了html也会存在。 OP是否指定了js是如何触发的?
【解决方案2】:

使用普通的Javascriptuse:

document.getElementById("myDiv").innerHTML;

使用jQuery

$("#myDiv").html();

【讨论】:

    【解决方案3】:

    您应该创建一个 DOM 元素,然后遍历它并获取 html().text()

      var value = '<div >\
                 <p class="">Hi cname@gmail.com</p>\
                 <br/>\
                <br/>\
                <div id="myDiv">\
                  sgdhsagdhagh\
                  dhsajdgasj\
                  cjzjcg\
                  </div>\
                </div>';
    
      alert($(value).find('#myDiv').html())
    &lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;

    如果需要获取父元素,则使用

    alert($('<div />', {html: value}).find('#myDiv').html())
    

    【讨论】:

    • 如果 OP 想要主父/容器元素,则将不起作用。在这种情况下使用filter('#myDiv')
    • @Tushar,那样的话我会更喜欢alert($('&lt;div /&gt;', {html: value}).find('#myDiv').html())
    【解决方案4】:

    您可以使用value 变量的HTML 来创建jQuery 对象。从此对象中,您可以搜索带有 id 的元素,并获取其 HTML 内容:

    var html = $(value).find('#myDiv').html();
    console.log(html); //sgdhsagdhaghdhsajdgasjcjzjcg
    

    或者纯javascript实现:

    var el = document.createElement('div');
    el.innerHTML = value;
    var html = el.getElementById('myDiv').innerHTML;
    console.log(html); //sgdhsagdhaghdhsajdgasjcjzjcg
    

    【讨论】:

      【解决方案5】:

      有两种方式-角度方式-

      var elem = angular.element(value);
      var innerDive=elem[0].getElementById('myDiv');
      var text= angular.element(innerDive[0]).innerText;
      

      Jquery-

      var text= $(value).find('#myDiv').text();
      

      【讨论】:

        猜你喜欢
        • 2019-03-13
        • 2011-08-31
        • 2021-06-16
        • 1970-01-01
        • 1970-01-01
        • 2021-07-03
        • 1970-01-01
        • 1970-01-01
        • 2017-12-19
        相关资源
        最近更新 更多