小编nim*_*rod的帖子

317
推荐指数
5
解决办法
9万
查看次数

将HTML映射到JSON

我正在尝试将HTML映射到JSON,结构完整.是否有任何图书馆可以做到这一点,还是我需要自己编写?我想如果没有html2json库,我可以把xml2json库作为一个开始.毕竟,html只是xml的一个变种吗?

更新:好的,我应该举一个例子.我想要做的是以下内容.解析一串html:

<div>
  <span>text</span>Text2
</div>
Run Code Online (Sandbox Code Playgroud)

像这样的json对象:

{
  "type" : "div",
  "content" : [
    {
      "type" : "span",
      "content" : [
        "Text2"
      ]
    },
    "Text2"
  ]
}
Run Code Online (Sandbox Code Playgroud)

注意:如果你没有注意到标签,我正在寻找Javascript的解决方案

html javascript json

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

为什么显示:阻止不拉伸按钮或输入元素

我试图理解这个问题背后的原因:

设置为后面的原因<button>或者<input>元素不像其他元素那样表现的原因是什么display:block!

我不是在寻找解决这个问题的解决方法,所以请不要指出这个答案,因为它没有回答这个问题.

这是一个说明问题的小提琴

更新1: @Pete是正确的,元素的默认大小属性是甚至在块上设置大小的内容,因为您可以其中调整size和cols属性<input><textarea>更改其宽度.这解决了我的部分问题.

考虑到这一点,我现在的问题是,为什么 <button> 元素不像其他块元素那样?这对我来说是一个谜!

html css forms

16
推荐指数
2
解决办法
4540
查看次数

为什么Coffeescript认为阴影是一个坏主意

我现在想切换到Coffeescript一段时间,昨天我觉得我终于卖了但是后来我偶然发现了Armin Ronachers关于Coffeescript阴影的文章.

Coffeescript确实现在放弃了阴影,如果你对嵌套循环使用相同的迭代器就会出现这个问题.

var arr, hab, i;

arr = [[1, 2], [1, 2, 3], [1, 2, 3]];

for(var i = 0; i < arr.length; i++){
  var subArr = arr[i];
  (function(){
      for(var i = 0; i < subArr.length; i++){
        console.log(subArr[i]);
      }
  })();
}
Run Code Online (Sandbox Code Playgroud)

因为cs只声明变量一次我无法在coffeescript中执行此操作

阴影已被故意删除,我想了解为什么cs-authors想要摆脱这样的功能?

更新:这是一个更好的例子,说明为什么影子很重要,源于github上有关此问题的问题

PS:我不是在找一个答案告诉我,我可以用反引号插入普通的Javascript.

javascript coffeescript

15
推荐指数
2
解决办法
3046
查看次数

Backbone - 为什么collection.reset不会触发模型事件?

我很想知道为什么重置骨干集合不会触发模型事件.但是,在从集合中物理移除模型时触发模型事件似乎是合乎逻辑的.

这是故意还是我错过了什么?如果骨干不做这种事情,那么委托事件就是一个很好的做法.

为什么骨干在其集合重置时不会触发模型事件?

var TicketModel = Backbone.Model.extend({
    defaults: {
        name: 'crafty',
        email: 'dwq@dwqcqw.com'
    },
    initialize: function(){
        this.on("all", function(event){
            console.log(event)
        });
    }

});

var TicketCollection = Backbone.Collection.extend({
    model: TicketModel,

    });


var tickets = new TicketCollection([
    {
        name: 'halldwq'
    },
    {
        name: 'dascwq'
    },
    {
        name: 'dsacwqe'
    }

]);

tickets.reset();
Run Code Online (Sandbox Code Playgroud)

javascript model-view-controller backbone.js backbone-events

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

防止在NERDTree窗口中加载文件的fuzzyfinder

我正在使用fuzzyfinder和NERDTree来实现vim.当我的光标位于NERDTree所在的窗口中并且我使用fuzzyfinder时,它将在NERDTree窗口中打开一个文件.

有没有办法防止这种行为并强制文件不能在NERDTree窗口中打开?

vim fuzzyfinder nerdtree

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

我可以更改输入字段中的文本而不更改值吗

是否可以?

如果是这样,这可能被认为是不好的做法,对吧?

编辑

我的意思是:输入字段的值通常与输入字段中显示的文本相同。我想知道有没有办法把两者分开...

html forms jquery

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

在草稿js中实现表格支持

我正在使用draft.js 进行表格支持(一层深)的hack

我有一个要求:所有现有的编辑器功能也需要在这个表中工作

我给你三个选择,请选择一个并解释你这样做的原因

  1. 嵌套编辑器(每个单元格一个) - 我猜我必须在编辑器之间实现选择处理
  2. 表格单元格作为实体,包装在一个自定义块组件中,该组件呈现表格并管理列和行。- 开发它会很昂贵,因为我需要干扰很多事件处理和渲染。
  3. 您认为还有其他方法可以更好地工作吗?

javascript architecture reactjs draftjs

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

Google Apps onEdit 事件 - event.source 未定义

Google 文档允许编写脚本。

当单元格内容与特定单词匹配时,我试图更改单元格的颜色。我的问题是 onEdit 函数无法按照此处指定的方式工作:https ://developers.google.com/apps-script/guide_events#Simple

每当我尝试使用 event.source 谷歌应用程序时都会抛出错误:“来源未定义”

function onEdit(event)
{
  Browser.msgBox(event.source.getActiveSheet());
}
Run Code Online (Sandbox Code Playgroud)

当然这是非常基本的,我在这里做错了什么吗?

javascript google-apps google-apps-script

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

什么是很好的使用void()

编辑:澄清:我的问题不关心如何使用空白,但空白是否真的有用.我问这个是因为人们似乎使用它的方式非常有价值......

操作员的MDN参考是使用中的void操作员的示例

<a href="javascript:void(0);">Click here to do nothing</a>
<a href="javascript:void(document.body.style.backgroundColor='green');">Click here for green background</a>
Run Code Online (Sandbox Code Playgroud)

不完全是我们现在处理点击事件的方式.

void在这个世界上有一席之地吗?有人能告诉我一个使用void的好例子吗?

javascript

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

在拆卸之前,QUnit setup()调用每个测试

我正在将QUnitrequire.js一起用于对backbone.js应用程序进行单元测试.使用该asyncTest方法,所有测试都是异步的.

我使用setup,并teardown建立和删除一个夹具为每个测试.我的问题是,尽管asyncTest似乎是阻塞,但setup()在每个测试开始之前都会调用它们,几乎所有的setup()调用都在同一时间运行.这个解决方案似乎没有解决我的问题.下面我有一个如何设置模块的示例,这里是一个指向测试存储库的链接,用于说明问题

我的问题是:我做错了什么还是这个QUnit的正常行为?

module('Module', {
    setup: function(){
        console.log('setup');
    },
    teardown: function(){
        console.log('teardown');
    }
})

asyncTest('Test 1', function() {
    setTimeout(function(){
        equal(2, 2, 'The return should be 2.');
        start();
    }, 400);
});

asyncTest('Test 2', function() {
    setTimeout(function(){
        equal(1, 1, 'The return should be 1.');
        start();
    }, 400);
});
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing qunit

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

以编程方式获取nuget包的路径

我正在安装一个带有可执行文件的nuget包.要在项目文件(更具体地说是在mvc控制器)中的解决方案中引用可执行文件,目前我需要对文件夹路径进行硬编码,这尤其是因为它中有版本号.因此,当我更新nuget包时,我需要更改所有这些引用.

这看起来很傻

我仍然是微软堆栈的新手,但是有没有办法只是请求一个nuget依赖的路径?

.net c# nuget

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

虽然dom尚未加载,但如何在骨干网中声明jquery元素

我将dom元素列表定义为Backbone视图对象的属性,如下所示:

el : $("body"),
elTicket : $('#ticket'),
...
Run Code Online (Sandbox Code Playgroud)

但是,这些jquery对象指向的dom尚未生成.

我出现这个问题时常常做的是将jquery对象包装在一个函数中并返回它:

el : function(){
    return $('body');
},
...
Run Code Online (Sandbox Code Playgroud)

然后导致一条丑陋的线条:

this.el().append('dasd');
Run Code Online (Sandbox Code Playgroud)

有更好的解决方案吗?

javascript jquery backbone.js

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