получить HTML из переменной по идентификатору

0

У меня есть значение имени переменной в моем javascript-коде, содержащем html data.i, чтобы получить данные внутри формы определенного идентификатора, который находится внутри #myDiv

  var value="<div >
             <p class="">Hi [email protected]</p>
             <br/>
            <br/>
            <br/>
            <div id="myDiv">
              sgdhsagdhagh
              dhsajdgasj
              cjzjcg
              </div>

            </div>"

благодаря

  • 0
    $(value).filter('#myDiv').html()
  • 0
    это будет работать так: $ (value) .find ('# myDiv'). html () в любом случае, спасибо
Показать ещё 1 комментарий

5 ответов

2

Вы должны создать элемент DOM, затем перейдите к нему и получите html() или .text()

  var value = '<div >\
             <p class="">Hi [email protected]</p>\
             <br/>\
            <br/>\
            <div id="myDiv">\
              sgdhsagdhagh\
              dhsajdgasj\
              cjzjcg\
              </div>\
            </div>';

  alert($(value).find('#myDiv').html())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Если вам нужно получить родительский элемент, используйте

alert($('<div />', {html: value}).find('#myDiv').html())
  • 0
    Не будет работать, если OP хочет основной родительский / контейнерный элемент. Используйте filter('#myDiv') в этом случае.
  • 0
    @Tushar, в этом случае я предпочитаю alert($('<div />', {html: value}).find('#myDiv').html())
2

Как насчет этого?

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

Это родной путь :)

РЕДАКТИРОВАТЬ:

если вы хотите получить данные, которые вы просто делаете так:

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

Это даст вам разметку того, что внутри div.

Или используйте document.querySelector("#myDiv") чтобы получить первое совпадение в selector.querySelectorAll возвращает массив.

  • 0
    Upvote за отсутствие зависимостей jQuery
  • 1
    Вопрос заключался в том, что «хочу получить данные внутри идентификатора формы, который находится внутри #myDiv», это именно так
Показать ещё 6 комментариев
1

Вы можете использовать HTML переменной value для создания объекта 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
0

Использование простого Javascript :

document.getElementById("myDiv").innerHTML;

Использование jQuery :

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

Есть два ways- Angular way-

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню