【问题标题】:javascript find div id inside string and delete it's contentjavascript在字符串中找到div id并删除它的内容
【发布时间】:2018-09-06 17:30:08
【问题描述】:

我有一个字符串,里面保存了一些变量html,其中有一个静态id="time"的div,

示例:

myString = "<div class="class">blahblah</div><div id="time">1:44</div>"

如何创建一个新的相同字符串,只截断时间? (在这种情况下为 1:44)。 我无法查找数字或“:”,因为在我的情况下不安全。

我没有成功的尝试是这样的:

  var content = divContainer.innerHTML;

  var jHtmlObject = jQuery(content);
  var editor = jQuery("<p>").append(jHtmlObject);
  var myDiv = editor.find("#time");
  myDiv.html() = '';
  content = editor.html();
  console.log('content -> '+content);

【问题讨论】:

    标签: javascript jquery string find


    【解决方案1】:

    var myString = '<div class="class">blahblah</div><div id="time">1:44</div>';
    
    //create a dummy span
    //put the html in it
    //find the time
    //remove it's inner html
    //execute end() so the jQuery object selected returns to the span
    //console log the innerHTML of the span
    console.log($('<span>').html(myString).find('#time').html('').end().html());
    &lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;

    【讨论】:

      【解决方案2】:

      您可以使用普通 javascript 中的正则表达式来实现这一点,如下所示:

      myString.replace(/(<div id="time">).*(<\/div>)/, '$1$2')
      

      如果您只想提取 1:44 部分,您可以使用以下内容:

      myString.match(/(<div id="time">)(.*)(<\/div>)/)[2]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-04
        • 1970-01-01
        • 2023-03-22
        • 1970-01-01
        • 2014-01-15
        相关资源
        最近更新 更多