JavaScript найти Div идентификатор внутри строки и удалить его содержимое - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть строка с некоторой переменной html , сохраненной внутри, среди которых div со статическим id = "time",

пример:

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

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

Этого можно добиться с помощью регулярного выражения в простом javascript, например, так:

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

Если вы хотите извлечь только часть 1:44, вы можете использовать следующее:

myString.match(/(<div id="time">)(.*)(<\/div>)/)[2]
0 голосов
/ 06 сентября 2018

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());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...