小编She*_*hea的帖子

text nodeValue包含HTML实体

我正在创建一个实时HTML编辑器,它在渲染DOM后加载,并通过循环遍历所有节点来构建源.我注意到当我尝试读取包含HTML实体的文本节点的nodeValue时,我总是得到该实体的渲染unicode值.

如何读取呈现的文本节点,并保留HTML实体代码?(使用香草JS)

例:

<div id="test">copyright &copy;</div>
<script>
var test = document.getElementById('test');
console.log(test.childNodes[0].nodeValue);
// expected: copyright &copy;
// actual: copyright ©
</script>
Run Code Online (Sandbox Code Playgroud)

javascript

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

在任何其他之前加载特定图像

我正在为我正在制作的网站创建一个加载屏幕.该网站加载了许多图像,脚本等.HTML和CSS部分很棒,但我需要一种方法来保证"加载..."图像将被加载到其他任何东西之前.

我正在使用jQuery,一切都在内部启动$(function () { ... });.我想这个代码需要在该块之前/之外调用,并且删除加载屏幕的代码将在该块的最后调用.目前,加载图像被设置为DIV背景,这是我喜欢的方式.但是,如果它是完全必要的,我会选择IMG标签.

更新:(解决方案)

我能够通过结合罗宾和弗拉德的回答来回答我自己的问题.两者都非常好,并且答案很好,但问题是它们的目的是在另一个图像之前加载图像,而不是在其他任何图像之前加载图像.(CSS,JS等......)

这是我提出的脏版本:

var files = [new Image(), document.createElement('link'), document.createElement('script')];
files[0].setAttribute('src', 'images/loading.gif');
files[1].setAttribute('rel', 'stylesheet');
files[1].setAttribute('type', 'text/css');
files[1].setAttribute('href', 'test.css');
files[2].setAttribute('type', 'text/javascript');
files[2].setAttribute('src', 'js/jquery-1.5.1.min.js');
window.onload = function (e) {
    document.getElementsByTagName('head')[0].appendChild(files[1]);
    document.getElementsByTagName('head')[0].appendChild(files[2]);
}
Run Code Online (Sandbox Code Playgroud)

查看Chrome开发者控制台网络选项卡上的加载顺序,首先加载'loading.gif',然后加载4个虚拟图像,然后加载'test.css',然后加载'jquery.1.5.1.min.js ".在将CSS和JS文件插入head标记之前,它们不会开始加载.这正是我想要的.

我预测,当我开始加载文件列表时,我可能会遇到一些问题.Chrome报告有时首先加载JS文件,但大多数情况下首先加载CSS文件.这不是问题,除非我开始添加要加载的文件,我需要确保在使用jQuery的脚本文件之前加载jQuery.

如果有人有这方面的解决方案,或者使用此方法检测CSS/JS文件何时完成加载的方法,那么请评论.虽然,我不确定它会成为一个问题.如果我开始遇到问题,我可能需要在将来提出一个新问题.

感谢所有帮助解决此问题的人.

更新:(故障修复)

我最终遇到了这个方法的很多问题,因为脚本文件是异步加载的.如果我清除浏览器缓存,然后加载页面,它将首先完成加载我的jquery相关文件.然后,如果我刷新页面,它将工作,因为jquery是从缓存加载的.我通过设置要加载的文件数组,然后将加载脚本放入函数中来解决这个问题.然后我将使用以下代码逐步执行每个数组项:

element.onload = function() { 
    ++i; _step();
}
element.onreadystatechange = function() { 
    if (("loaded" === element.readyState || "complete" === element.readyState)) { ++i; _step(); }
}
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

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

jQuery如何返回一个数组并仍然是一个jQuery对象?

我试图重现jQuery的(1.7.1)对象结构,以更好地理解它是如何工作的.我有以下代码:

(function (window, undefined) {

    var document = window.document,
        navigator = window.navigator,
        location = window.location;

    window.myclass = (function () {
        var __con = function () {
            return new __con.fn.init();
        }

        __con.fn = __con.prototype = {
            'init' : function () {
                return this;
            },
            'test' : function () {
                console.log('test1');
                return this;
            }
        }

        __con.fn.init.prototype = __con.fn;

        __con.test = function () {
            console.log('test2');
            return this;
        }

        return __con;
    })();

})(window);
Run Code Online (Sandbox Code Playgroud)

我的控制台看起来像这样:

> myclass().test();
  test1
< __con.fn.__con.init
> myclass.test();
  test2
< function …
Run Code Online (Sandbox Code Playgroud)

javascript jquery design-patterns class

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

筛选以仅在Excel 2010中显示重复条目

我有两个文件:旧的和新的.我需要从New中删除Old包含的任何条目.所以我将这两个文件导出到制表符分隔的文本文件,然后合并两个文本文件,以便现在我有许多重复的条目.我的希望是我可以想出一些公式只显示重复的值,这样我就可以从那里删除它们.现在我怎样才能从现在的角度出发?

示例旧:

[41] [john] [smith]
[732] [bill] [murry]
[234] [adam] [sandler]
[9029] [tim] [allen]
Run Code Online (Sandbox Code Playgroud)

示例新:

[10422] [bill] [gates]
[11456] [steve] [ballmer]
[732] [bill] [murry]
[24510] [jimmy] [jones]
[41] [john] [smith]
[234] [adam] [sandler]
[78241] [funny] [bunny]
[9029] [tim] [allen]
Run Code Online (Sandbox Code Playgroud)

合并示例:

[10422] [bill] [gates]
[11456] [steve] [ballmer]
[732] [bill] [murry]
[732] [bill] [murry]
[24510] [jimmy] [jones]
[41] [john] [smith]
[41] [john] [smith]
[234] [adam] [sandler]
[234] [adam] [sandler]
[78241] [funny] [bunny]
[9029] [tim] [allen]
[9029] [tim] [allen]
Run Code Online (Sandbox Code Playgroud)

我想要展示的例子:

[732] [bill] [murry] …
Run Code Online (Sandbox Code Playgroud)

excel formula filter duplicates

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

javascript原型无法正常工作

我错误.prototype的应该做什么,或者这只是不工作?

window.dump = function () {
    for (var i = 0, x = dump.list.length; i < x; ++i) console.log.apply(this, dump.list[i]);
    if (arguments.length && typeof arguments[0] === 'boolean' && arguments[0]) dump.purge();
}
dump.prototype = {
    list : [],
    log : function () {
        dump.list.push(arguments);
    },
    purge : function () {
        dump.list = [];
    }
}
dump.log('test1');
dump.log('test2');
dump();
Run Code Online (Sandbox Code Playgroud)

我希望传递"test1"和"test2" console.log,而dump.log不是定义.不过dump.prototype.log是.

编辑:我已经尝试了以下,我似乎无法让这个原型正确.

window.dump = new function () {
    this.list = [];
    this.log = function () …
Run Code Online (Sandbox Code Playgroud)

javascript prototype function-prototypes

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