小编Tra*_*s J的帖子

如何在javascript中告诉包含对象?

我有JSON数据,我想知道是否有办法确定嵌套对象的父对象.例如,采用这种结构:

Vehicles[]
 ForSaleCars[]
  Car{}
   Make
   Model
   Year
 SoldCars[]
  Car{}
   Make
   Model
   Year
Run Code Online (Sandbox Code Playgroud)

假设这var json = ;已经填充了一些数据.很容易访问ForSaleCars数组中的第二辆汽车,如下所示:

var secondCar = json.Vehicles.ForSaleCars[1];
Run Code Online (Sandbox Code Playgroud)

在这一点上,仅仅secondCar变量,是否有可能告诉它来自ForSaleCars和不SoldCars

我问的原因是我以递归方式遍历一个json对象图,如果没有跟踪就可以看到该对象具有哪个父对象.

javascript json

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

包裹分离附加顺序不附加

为了有效地进行一些DOM操作,我正在分离一个元素.在这个过程中,我遇到了这个有趣的情况:

__CODE__

var $holder = $("#d");
var $wrapper = $("<div>").css("border","1px solid red");
$holder.wrap($wrapper);
$holder.detach();
$wrapper.append($holder);
Run Code Online (Sandbox Code Playgroud)

因此,带有字母"a"的div由带有红色边框的div包裹.然后将带有字母"a"的div分离.然后包装div附加分离的"a".但是,字母"a"从未重新出现.

我错过了什么?我做错了什么?我怎样才能得到"a"回来?

jquery append detach

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

为什么这个javascript继承导致共享数组的引用?

我有一个基类

function Base(){
    this.children = new Array();
}
Base.prototype.Add = function(child){
    this.children.push(child)
}

function Sub1(){...}
Sub1.prototype = new Base();

function Sub2(){...}
Sub2.prototype = new Base();
Run Code Online (Sandbox Code Playgroud)

那我该怎么办呢

var S1_1 = new Sub1();
var S1_2 = new Sub1();
S1_1.Add(new Sub2());
Run Code Online (Sandbox Code Playgroud)

S1_2由于某种原因也有1个孩子并且包含与我添加到S1_1的孩子相同的信息?

javascript oop prototype

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

无构造函数的类可以在没有实例化的情况下调用它们的方法吗?

我可以避免初始化吗?

我有一个没有构造函数的简单工厂.我这样使用它:

var slf = new GenericSelectListFactory();
vm.Works = slf.getWorkgsl(0);
vm.Cars = slf.getCargsl(0);
Run Code Online (Sandbox Code Playgroud)

我也可以像这样使用它:

vm.Cars = new GenericSelectListFactory().getCargsl(0);
Run Code Online (Sandbox Code Playgroud)

没有新关键字有没有办法使用它?

vm.Cars = GenericSelectListFactory.getCargsl(0);
Run Code Online (Sandbox Code Playgroud)

c#

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

保存对此范围的访问权限

我的颜色存储在我的按钮上的数据属性中,我想在切换中使用.但是,当我尝试使用时访问数据信息时this,没有可用的数据.如何保持对正确this范围的访问?

我试图只为不包含Skip的元素切换给定的颜色.

HTML

<div>
 <input id="toggleButton" type="button" value="Toggle" data-color="Red" />
</div>
<div id="toggleSet">
<div>Element</div>
 <div>Skip</div>
 <div>Element</div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.ActivateRed{ color: red; }
Run Code Online (Sandbox Code Playgroud)

JS

$('#toggleButton').click(function(){
 $("#toggleSet div").each(function(index,element){
  if( element.innerHTML != "Skip" ){
   $(element).toggleClass("Activate"+$(this).data("color"));
                                       //^this has no data to access?
                                       //Why am I getting undefined?
  }
 });
});
Run Code Online (Sandbox Code Playgroud)

这是我尝试的jsFiddle.我一直Activateundefined在上课.为什么不this访问我的toggleButton的数据?

javascript jquery this

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

如果一种语言没有"比特"比较,我该如何模拟呢?

我正试图在(beta)Trackmania 2游戏中制作一个剧本.(这是JavaScript,HTML,C和......在我最糟糕的噩梦中无法想象的其他东西之间的丑陋混合).

脚本引擎似乎不知道"和"或"&&"(如果我尝试myVar && 16提出了很好的错误是"布尔操作等待一个布尔")

我想做点什么:

if (Var && 1) {
  // Bit North => trace north
}

if (Var && 2) {
  // Bit East => trace east
}
if (Var && 4) {
  // Bit South => trace south
}
if (Var && 8) {
  // Bit West => trace West
}
Run Code Online (Sandbox Code Playgroud)

如果编译器不知道位域操作,我知道如何才能做到这一点?

javascript

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

{}和function(){}之间的区别

我认为这些是等价的.

var __Panel = {
 this.header = null;
};

var __Panel = function() {
 this.header = null;
};
Run Code Online (Sandbox Code Playgroud)

第一个给出了编译器错误"Expected identifier or string"for this,和"Expected','"for ;.

有人可以为我澄清这一点吗?

javascript

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

悬停时对 SVG 进行动画处理 - 在悬停时通过点制作微笑

我有一个 SVG 文件,其中的点呈直线。我想要实现的是,当用户将鼠标悬停在 svg 文件上时,点会变成像所附图像一样的微笑。

过渡必须平稳。

这里最好的方法是什么?我可以只使用 css 来完成还是也应该使用 js ?

在此输入图像描述

谢谢

javascript css svg svg-animate

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

标签 统计

javascript ×6

jquery ×2

append ×1

c# ×1

css ×1

detach ×1

json ×1

oop ×1

prototype ×1

svg ×1

svg-animate ×1

this ×1