标签: dom-manipulation

如何向给定元素添加类?

我有一个已经有类的元素:

<div class="someclass">
    <img ... id="image1" name="image1" />
</div>
Run Code Online (Sandbox Code Playgroud)

现在我想创建一个Javascript函数,它将一个类添加到div(不替换,但添加).

我怎样才能做到这一点?

javascript dom-manipulation

1109
推荐指数
19
解决办法
152万
查看次数

如何清除父<div>中的所有<div> s'内容?

我有一个<div id="masterdiv">有几个孩子<div>的div .

例:

<div id="masterdiv">
  <div id="childdiv1" />
  <div id="childdiv2" />
  <div id="childdiv3" />
</div>
Run Code Online (Sandbox Code Playgroud)

如何使用jQuery 清除<div>master 中所有子<div>进程的内容?

html javascript jquery dom-manipulation

213
推荐指数
12
解决办法
35万
查看次数

过滤输入中的ng-model

我有一个文本输入,我不想让用户使用空格,键入的所有内容都将变为小写.

我知道我不允许在ng-model上使用过滤器,例如.

ng-model='tags | lowercase | no_spaces'
Run Code Online (Sandbox Code Playgroud)

我查看了创建自己的指令但是添加了函数$parsers并且$formatters没有更新输入,只更新了其他元素ng-model.

如何更改我正在输入的输入?

我本质上是在尝试创建"标签"功能,就像StackOverflow上的功能一样.

dom-manipulation angularjs angularjs-filter angularjs-ng-model

123
推荐指数
5
解决办法
21万
查看次数

jQuery empty()vs remove()

它们empty()remove()方法之间有什么区别jQuery,当我们调用这些方法时,正在创建的对象将被销毁并释放内存?

javascript jquery dom-manipulation

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

如何使用JavaScript将所有HTML元素子项移动到另一个父项?

想像:

<div id="old-parent">
    <span>Foo</span>
    <b>Bar</b>
    Hello World
</div>
<div id="new-parent"></div>
Run Code Online (Sandbox Code Playgroud)

可以编写什么JavaScript来移动所有子节点(包括元素和文本节点)old-parentnew-parent没有jQuery?

我并不关心节点之间的空白,虽然我希望能够抓住流浪Hello World,但它们也需要按原样迁移.

编辑

要清楚,我想最终得到:

<div id="old-parent"></div>
<div id="new-parent">
    <span>Foo</span>
    <b>Bar</b>
    Hello World
</div>
Run Code Online (Sandbox Code Playgroud)

提出重复的问题的答案将导致:

<div id="new-parent">
    <div id="old-parent">
        <span>Foo</span>
        <b>Bar</b>
        Hello World
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

html javascript dom-manipulation

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

找到正在改变DOM元素的javascript

有没有什么技术可以用来找到改变HTML元素的javascript?我在查找特定元素如何display:none在加载时添加内联样式时遇到一些麻烦.我知道我会找到最终完成此操作的脚本,但我希望这个过程更容易.

我的理想解决方案是在修改DOM元素后立即破解javascript执行的一些方法.我知道Chrome的开发工具能够右键单击一个元素并选择Break On> Attribute Modifications.但是,这会在页面加载期间发生,所以如果我可以在所有其他脚本声明之前插入一些脚本,这些脚本声明"监视带有类XYZ的元素"并在元素修改时中断JS执行,那将是非常好的.然后,JS执行将破坏我可以看到修改元素的JS,或者可能通过查看调用堆栈找到,但无论哪种方式,我都能看到触发中断发生的脚本.我找到了一些答案告诉我如何使用Chrome开发工具/ Firebug,但就像我说的,这个问题是关于程序化的方法.

html javascript dom dom-manipulation

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

如何对DOM操作进行单元测试(使用jasmine)

我需要用jasmine对一些DOM操作函数进行单元测试(目前我在浏览器和Karma中运行我的测试)

我想知道这样做的最佳方法是什么?

例如,我可以模拟和存根窗口记录对象并监视它们的一些功能.但这并不是一个简单的解决方案,所以这就是为什么我问这个问题!

或者是否有更好的方法(不使用茉莉花)来做到这一点?

非常感谢

unit-testing dom-manipulation jasmine

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

使用document.createDocumentFragment()和innerHTML来操作DOM

我正在创建一个文档片段如下:

var aWholeHTMLDocument = '<!doctype html> <html><head></head><body><h1>hello world</h1></body></html>';
var frag = document.createDocumentFragment();
frag.innerHTML = aWholeHTMLDocument;
Run Code Online (Sandbox Code Playgroud)

变量aWholeHTMLDocument包含一个长字符串,它是页面的整个html文档,我想将它插入到我的片段中,以便动态生成和操作dom.

我的问题是,一旦我将该字符串添加到frag.innerHTML,它不应该加载此字符串并将其转换为DOM对象吗?设置innerHTML后,我不应该通过属性访问DOM吗?我尝试了frag.childNodes但它似乎没有包含任何东西,而我想要的只是访问新创建的DOM.

javascript dom dom-manipulation

32
推荐指数
4
解决办法
3万
查看次数

使用jQuery删除元素但保留文本

我有一些看起来像这样的HTML:

<div>
    <span class="red">red text</span> some more text <span class="blue">blue text</span>
</div>
Run Code Online (Sandbox Code Playgroud)

我想要做的是使用jQuery删除div中的所有跨度而不管附加的类,但是将文本留在span标记中.所以最终结果将是:

<div>
    red text some more text blue text
</div>
Run Code Online (Sandbox Code Playgroud)

我试图使用该unwrap()方法,但它解开了div.我也尝试删除元素,但删除元素及其文本.

javascript jquery dom-manipulation

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

根据所选OPTION的宽度自动调整SELECT元素的大小

我有这个select元素与option它不同.通常select元素会从最大option元素获得宽度,但我希望select元素的默认option值宽度更短.当用户选择另一个元素时option,该select元素应调整自身大小,以便整个文本始终在元素中可见.

$(document).ready(function() {
    $('select').change(function(){
        $(this).width($('select option:selected').width());
    });
});
Run Code Online (Sandbox Code Playgroud)

问题:

  • 在Chrome(Canary)上,它的返回宽度始终为0.
  • 在Firefox上,选择较短的选项时,会添加宽度并且不会调整大小.
  • Safari:与Chrome相同的结果.

演示@ JSFiddle

jquery select resize dom-manipulation autoresize

28
推荐指数
5
解决办法
7万
查看次数