相关疑难解决方法(0)

将HTML字符串转换为DOM元素?

有没有办法转换HTML像:

<div>
<a href="#"></a>
<span></span>
</div>
Run Code Online (Sandbox Code Playgroud)

或任何其他HTML字符串到DOM元素?(这样我就可以使用appendChild())了.我知道我可以做.innerHTML和.innerText,但这不是我想要的 - 我真的希望能够将动态HTML字符串转换为DOM元素,以便我可以在.appendChild()中传递它.

更新:似乎有困惑.我有一个字符串中的HTML内容,作为JavaScript中变量的值.文档中没有HTML内容.

html javascript dom

179
推荐指数
5
解决办法
31万
查看次数

用reactjs渲染原始html

那么这是用reactjs渲染原始html的唯一方法吗?

// http://facebook.github.io/react/docs/tutorial.html
// tutorial7.js
var converter = new Showdown.converter();
var Comment = React.createClass({
  render: function() {
    var rawMarkup = converter.makeHtml(this.props.children.toString());
    return (
      <div className="comment">
        <h2 className="commentAuthor">
          {this.props.author}
        </h2>
        <span dangerouslySetInnerHTML={{__html: rawMarkup}} />
      </div>
    );
  }
});
Run Code Online (Sandbox Code Playgroud)

我知道有一些很酷的方法来标记JSX的东西,但我主要感兴趣的是能够渲染原始的html(包括所有类,内联样式等).像这样复杂的东西:

<!-- http://getbootstrap.com/components/#dropdowns-example -->
<div class="dropdown">
  <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-expanded="true">
    Dropdown
    <span class="caret"></span>
  </button>
  <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
    <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action</a></li>
    <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Another action</a></li>
    <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>
    <li role="presentation"><a role="menuitem" …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

135
推荐指数
8
解决办法
19万
查看次数

如何将HTMLElement转换为字符串

我将在javascript中创建一个xml元素来与服务器端交换数据.我发现我可以用document.createElement.But来做它我不知道如何将它转换为字符串.浏览器中是否有API使其更容易?或者是否有任何js lib包含这个API?

提前致谢.

//修改

我发现浏览器API XMLSerializer,它应该是序列化为字符串的正确方法.

html javascript

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

将javascript字符串转换为html对象

我可以将字符串转换为html对象吗?喜欢:

string s = '<div id="myDiv"></div>';
var htmlObject = s.toHtmlObject;
Run Code Online (Sandbox Code Playgroud)

所以我以后可以通过id获取它并做一些改变它的风格

var ho = document.getElementById("myDiv").style.marginTop = something;
Run Code Online (Sandbox Code Playgroud)

丽娜,提前100万

html javascript

66
推荐指数
4
解决办法
28万
查看次数

将HTML字符串转换为DOM元素?

说有一个,

var some_html = '<div class = "am_hold">' +
    '<img name="bo_im" id="' + val.id + '" class="bookmark_image" src="' + val.favicon + '">' +
    '<a target="_blank" name="bookmark_link" class="bookmark_link" href = "' +
    val.url + '" id="' + val.id + '">' + val.title + '</a>' +
    '<div><div class = "bookmark_menu"></div></div>' +
    '</div>';
Run Code Online (Sandbox Code Playgroud)

是可以做到的

var some_element = `some_function`(some_html);
Run Code Online (Sandbox Code Playgroud)

是否有some_function(1)的实现没有使用库和(2)使用库.

html javascript

12
推荐指数
2
解决办法
5万
查看次数

使用vanilla javascript将es6模板字符串转换为html元素

有没有一种方法可以使用普通的旧香草javascript(无框架)将html模板字符串转换为Html元素?

这就是我尝试过的事情:

function renderBody(selector = body, template) {
    const prop.text = 'foobar';
    const templateString = `<div id='test'>${prop.text}</div>`
    const test = document.createElement('div');
    test.innerHTML = templateString;
    document.querySelector(selector).appendChild(test);
}
Run Code Online (Sandbox Code Playgroud)

这个实现工作,但它使用innerHTML并添加一个额外的包装div.有没有额外的方法可以做到这一点div

html javascript ecmascript-6

9
推荐指数
2
解决办法
4678
查看次数

如何使用javascript或jquery从字符串中提取html标签的内容?

也许这是非常基本的,但我都很困惑.我有一个简单的html页面,包含许多部分(div).我在javascript中有一个包含html标签的字符串.代码如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
var str1="<html><body><div id='item1'><h2>This is a heading1</h2><p>This is a paragraph1.</p></div><div id='item2'><h2>This is a heading2</h2><p>This is another paragraph.</p></div><div id='lastdiv'>last</div></body></html>";
</script>
</head>
<body>
<div id="title1"></div>
<div id="new1"></div>
<div id="title2"></div>
<div id="new2"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我想提取html标签的内容(来自javascript中的字符串),并在我的html页面中显示所需部分中的内容.

即我想在"这是一个段落1"中显示"这是一个标题1" <div id="title1">.显示在<div id="new1">第二对标签中并与之相同.

我需要所有这些只在客户端工作.我试图使用HTML DOM getElementByTagName方法,它变得太复杂了.我对jquery知之甚少.我很困惑.我不明白该怎么做.你能指导我使用什么--javascript或jquery以及如何使用它?有没有办法从字符串中识别并迭代它?

如何从str1中提取"This is heading1"(和html标签中包含的类似内容)?我不知道这些索引因此无法在javascript中使用substr()或substring()函数.

html javascript jquery

8
推荐指数
1
解决办法
4万
查看次数

使用document.createElement()时,"字符串包含无效字符"

var NewRow = document.createElement("<tr><td align='left' valign='top'  width='9%;'  ><img width='32px' height='32px' src='images/" + ProfilePic + "'  /></td><td align='left' valign='Top' ><span class='MsgSpan'>" + Msg + "</span></td><td align='right' align='left' valign='top' style='color:Gray;' >" + Date + "</td></tr>");
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

InvalidCharacterError: String contains an invalid character
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

javascript

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

javascript:从字符串创建HTMLElement

我想通过javasacript从字符串创建HTMLElement,就像这样

element = createHTMLElement('<table class="list"><tr><td><a href="xxx">title</a></td></tr></table>')
element.addEventListener(...)
parent.appendChild(element)
Run Code Online (Sandbox Code Playgroud)

我不想使用jQuery

javascript

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

使用本机javaScript附加html

我需要使用纯javaScript将一些html附加到现有元素:

function create(htmlStr) {
  var frag = document.createDocumentFragment(),
    temp = document.createElement('div');
  temp.innerHTML = htmlStr;
  while (temp.firstChild) {
    frag.appendChild(temp.firstChild);
  }
  return frag;
}

var target = document.querySelectorAll(".container-right");
var fragment = create(
  '<div class="freetext"><p>Some text that should be appended...</p></div>'
);
document.body.insertBefore(fragment, document.body.childNodes[0]);
Run Code Online (Sandbox Code Playgroud)

它有点工作,但我有两个问题:

  1. 如何确保将html片段附加到具有类的div container-right而不仅仅是正文?将最后一行更改为document.body.insertBefore(fragment, target);不起作用.

  2. 如何在目标元素中的内容之后插入html - 在现有内容之后 - 如jQuery的append()?

任何帮助深表感谢.

JsFiddle在这里.

javascript

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

标签 统计

javascript ×10

html ×6

dom ×1

ecmascript-6 ×1

jquery ×1

reactjs ×1