相关疑难解决方法(0)

使用本机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万
查看次数

检查字符串是否包含任何图像标记的最简单方法是什么?

例如我有文字:

"testestestestt testestestes <img src='image.jpg'>"
Run Code Online (Sandbox Code Playgroud)

我想写函数检查字符串是否是img标签并返回true

javascript jquery

5
推荐指数
1
解决办法
4201
查看次数

如何使用无值属性生成DOM节点

我正在尝试生成这样的节点:

<div layout horizontal></div>
Run Code Online (Sandbox Code Playgroud)

使用DOM API.

我正在尝试这样的事情:

var d = document.createElement("div");
d.setAttribute(...);
Run Code Online (Sandbox Code Playgroud)

但从来没有真正设法生成我想要的东西.任何想法如何做到这一点?

谢谢.

html javascript dom polymer

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

如何在 Angular 中获取 DOM 节点属性

我正在使用这个答案将 HTML 字符串转换为 Angular 中的 DOM 元素。

问题是我无法获取 的属性NodegetAttribute()无法使用,因为 typescript 会抱怨No property getAttribute on Node.

代码如下(简化)。

import { AfterViewInit, Renderer2 } from '@angular/core';

export class MockComponent implements AfterViewInit {
  constructor(private renderer: Renderer2) {}

  private mockString = '<a href="#test1">test 1</a>'

  ngAfterViewInit(): void {
    const template = this.renderer.createElement('template');
    template.innerHTML = this.mockString.trim();
    const anchorNodes: NodeList = template.content.querySelectorAll('a');
    const anchors: Node[] = Array.from(anchorNodes);
    for (const anchor of anchors) {
      // how to get attributes of anchor …
Run Code Online (Sandbox Code Playgroud)

javascript dom typescript angular

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

为什么.html工作而不是innerHTML或appendChild

我正在尝试向div添加ajax响应(它是带有表格,表单等的HTML代码).

在FF innerHTML工作完美,但在IE中,它给了我一个未知的错误.

我尝试了很多东西,但是当我添加jQuery并.html在div上运行方法我想要插入代码时,我才能使用它.

任何人都在关心为什么这个有用而不是简单innerHTML?我试着查看.html()代码,但我想我不是JS的优秀,因为我不明白它在做什么.

javascript ajax jquery internet-explorer

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

如何将javascript html dom文档存储到locastorage

我有文件(组件树)'m',我试图存储在html5的本地存储中.我尝试将其设置为本地存储.但当我将其取回时,此m已更改为[object Document].如何将文档存储到本地存储并将其作为文档本身检索?

以下是我尝试过的代码

在存储到本地存储之前

从本地存储中检索回来之后

应用程序向服务器发送ajax请求以退出日历的事件,并在请求的onsuccess中收到xhtml的dom表示.当用户进入下周视图时,应用程序必须从本地存储中撤消该事件.要从js文件向客户端发送响应,dom表示也是必要的.因此我们需要将dom表示存储到localstorage.

我的要求是在第一张图片的控制台,您可以看到从文档m中检索到'k'并作为响应发送到客户端.所以,我想要的是将此k或m存储到本地存储,以便我可以操作它在同一个js文件中.这个代码位于一个单独的js文件中,该文件在xhtml文件中使用.

我正在使用primefaces 4.0,jsf 2.1.

当我使用

localStorage.setItem( "calendarevents",JSON.stringify(K));

我得到一个错误'将循环结构转换为json'.

javascript html5

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

在字符串中解析脚本标记的内容

假设我有以下字符串:

var myString = "<p>hello</p><script>console.log('hello')</script><h1>Test</h1><script>console.log('world')</script>"
Run Code Online (Sandbox Code Playgroud)

我想使用split来获取包含脚本标记内容的数组.例如,我希望我的输出为:

["console.log('hello')", "console.log('world')"]
Run Code Online (Sandbox Code Playgroud)

我试过myString.split(/[<script></script>]/)但是没有得到预期的输出.

任何帮助表示赞赏.

javascript regex

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

如何用 HTML 标签替换包含字符串的文本?

我正在尝试找出如何用 HTML 标签替换页面上与某个短语匹配的任何文本实例 - 内容应保持不变。

bold("Hello")
Run Code Online (Sandbox Code Playgroud)

上面的代码应该替换为:

<b>Hello</b>
Run Code Online (Sandbox Code Playgroud)

这是我当前正在使用的代码:

node.data = node.data.replace('bold("','<b>');
node.data = node.data.replace('")','</b>');
Run Code Online (Sandbox Code Playgroud)

这样做的问题是,<b>它不是创建标签,而是将<和转换>为它们的 HTML 实体 - << >

")此外,用替换所有实例似乎不切实际</b>

实现这一目标的最佳方法是什么?

我将不胜感激任何帮助,谢谢!

html javascript replace html-entities

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

用于从JS中的HTML标记中删除id,style,class属性的正则表达式

我在javascript中使用了html字符串并使用正则表达式我想删除html标签中的id,style和class属性,例如我有:

New York City.<div style="padding:20px" id="upp" class="upper"><div style="background:#F2F2F2; color:black; font-size:90%; padding:10px 10px; width:500px;">This message is.</div></div>
Run Code Online (Sandbox Code Playgroud)

我希望这个String成为:

New York City.<div><div>This message is.</div></div>
Run Code Online (Sandbox Code Playgroud)

javascript regex

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

mootools:从HTML创建一个新的DOM元素

如何在Mootools中从字符串(从ajax传递)创建DOM元素?

在jQuery中,一个简单的解决方案是 $( elements )

var elements = '<i>This is italic</i><b>this bold</b>...';
Run Code Online (Sandbox Code Playgroud)

javascript mootools

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