小编sdr*_*sdr的帖子

使用jQuery添加DOM元素的最佳方法

所以我已经看到了三种向页面添加html/DOM元素的方法.我很好奇他们每个人的利弊是什么.

1 - 传统的JavaScript

我相信直接的JS方法是通过构造每个元素,设置属性,然后附加它们.例:

var myRow = document.createElement("tr");
myRow.class = "myClass";

var firstTD = document.createElement("td");
firstTD.innerHTML = "first";
myRow.appendChild(firstTD);

var secondTD = document.createElement("td");
secondTD.innerHTML = "second";
myRow.appendChild(secondTD);

document.getElementById("myContainer").appendChild(myRow);
Run Code Online (Sandbox Code Playgroud)

2 - 通过jQuery追加一串html

我注意到我看到的大多数jQuery示例通常只附加一串html.
例:

$("#myContainer").append('<tr class="myClass"><td>first</td><td>second</td></tr>');
Run Code Online (Sandbox Code Playgroud)

3 - jQuery的.clone()

我在jQuery中也看到过很多用法和对.clone()的引用.
例:

$("#myContainer").append($(".myClass").Clone());
Run Code Online (Sandbox Code Playgroud)

我很想听听其他人对此的看法.

(此外,这似乎是'社区维基'的一个很好的候选人,但我对它们不太熟悉.有人会发表评论并让我知道它是否应该?谢谢)

javascript jquery dom

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

授权整个安全组在ASP.Net MVC中执行操作

我想授权用户在我的控制器中执行特定操作.我找到了ASP.NET教程,该教程解释了如何允许单个用户执行特定操作,但是这可以扩展到安全组吗?例如,如果代码如下所示,属于"domain\group"安全组的每个人都可以访问GetSecrets操作:

[Authorize(Users="domain\group")]
public ActionResult GetSecrets()
{ return View(); }
Run Code Online (Sandbox Code Playgroud)

如果没有,我该怎么做?

c# asp.net-mvc authorization active-directory

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

Foreach对IEnumerables的集合

我有3个(编辑)互相排斥的 IEnumerables,我想迭代.我想做这样的事情:

IEnumerable<Car> redCars = GetRedCars();
IEnumerable<Car> greenCars = GetGreenCars();
IEnumerable<Car> blueCars = GetBlueCars();

foreach(Car c in (redCars + greenCars + blueCars)) {
    c.DoSomething();
}

...
Run Code Online (Sandbox Code Playgroud)

我能想到的最好的方法是:

...
List<Car> allCars = new List();
allCars.AddRange(redCars);
allCars.AddRange(greenCars);
allCars.AddRange(blueCars);
foreach(car in allCars) {
    ...
}
...
Run Code Online (Sandbox Code Playgroud)

有没有更简洁的方法来做到这一点?看起来像组合IEnumberables应该是微不足道的.

c# ienumerable foreach

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

Javascript事件对象未在事件处理函数中填充

我有以下代码:

HTML:

<tr>
    <td onclick="ThingClicked()">click me</td>
</tr>
Run Code Online (Sandbox Code Playgroud)

JS:

function ThingClicked(event) {
    var row = event.currentTarget.parent("tr");
    callAnotherDOMManipulatingFunction(row);
}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,event.currentTarget未定义.我试过'这个',但那也是未定义的.这是怎么回事?如何获取包含此td的行?

javascript jquery javascript-events

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

为什么我应该使用下划线的isUndefined(x)而不是x === undefined?

使用isUndefined有什么好处吗?是否值得额外的函数调用?它不再具有可读性.

javascript underscore.js

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