小编Yos*_*shi的帖子

在javascript中将对象数组复制到另一个没有对象引用的数组(深层复制)

我有一个场景,我需要将对象数组(主数组)复制到另一个Temp数组,该数组不应该有对象引用,如果我对主数组进行任何修改它不应该反映在Temp数组中,这样我将保留独立复制.

我已经使用了堆栈溢出中的一个代码片段,如果我从Main数组中删除所有对象,temp数组仍然保存值,但当我在主数组中进行一些修改并单击取消按钮iam从中删除所有对象主数组使用array.Removeall(); 但修改仍然存在于Temp数组中,这意味着该对象具有引用.

clone: function (existingArray) {
  var newObj = (existingArray instanceof Array) ? [] : {};
  console.debug('newObj value is ' + newObj);
  for (i in existingArray) {
    console.debug('i value is' + i);
    if (i == 'clone') continue;
    console.debug('existingArray[i] value ' + existingArray[i]);
    if (existingArray[i] && typeof existingArray[i] == "object") {

      newObj[i] = this.clone(existingArray[i]);
    } else {
      console.debug('in else part ' + existingArray[i]);
      newObj[i] = existingArray[i];
    }
  }
  return newObj;
}
Run Code Online (Sandbox Code Playgroud)

我的对象结构就像

我使用淘汰框架.

newObjectCreation = function (localIp, RemoteIp, areaId) { …
Run Code Online (Sandbox Code Playgroud)

javascript

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

有没有更有效的方法来使用angularjs序列化表单?

有没有办法为angularjs序列化函数?

我的帖子现在看起来像这样.

$scope.signup_submit = function () {
  var formData = {
    username: $scope.username,
    full_name: $scope.full_name,
    email: $scope.email,
    password: $scope.password,
    confirm_password: $scope.confirm_password
  }

  $http({
    method: "POST",
    url: '/signup',
    data: formData,
  }).success(function (data) {
    if (data.status == 'success') {
      alert('all okay');
    } else {
      alert(data.msg)
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

javascript serialization angularjs

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

在指令的内部模板中单击ng不提供该功能

ng-click没有提供警报.单击指令的内部模板时,不会显示警告框.

小提琴链接在这里:http://jsfiddle.net/NNDhX/

javascript angularjs

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

jQuery:实际的div宽度

我有两个<div>,一个嵌套到另一个定义如下:

<div class="wrapper">
    <div class="content">
        [..] Content [..]
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

css:

#div.wrapper
{            
    width: 660px;
    overflow: hidden;
    float: left;
}
#div.content
{
    white-space: nowrap;
}
Run Code Online (Sandbox Code Playgroud)

效果就是我想要的,内容在内部水平放置但在超过时隐藏,(然后我用jQuery滚动它).

因为我不知道的内容.content(也可以预见),我需要知道真实的它(由内容所定义的)宽度,但两者.width().innerWidth()给我同样的结果是660首次调用时(如容器 div)和660 + x,当我通过设置一个负边距 - 左边滚动它后调用它(x是带边距的左移位).

如何获得元素的真实的,依赖于内容的宽度?谢谢

html javascript css jquery

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

一些jquery插件不能使用新版本的jquery库

我有一个关于jQuery插件的问题.我正在使用一个复选框样式插件,插件使用jQuery lib版本1.4.2,它完美地工作.但是当我升级到jquery 1.7.1时,我的坏,它不起作用,在控制台中也没有错误.

上面的问题面临这么多次,然后我决定使用相同的jquery文件和插件.但是现在我在我的网页上有更多的效果,他们正在使用最新版本的jquery,也许我无法将其恢复为旧版本

我是jquery的新手,如果是这样的话,调试正在发生的事情将会非常困难.对于这个有什么好的解决方案,将来我应该使用jQuery吗?什么是升级规则?

javascript jquery

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

如果在文本框中输入文本时前面有空格,则使字母输入大写

我希望用户在文本框中输入ALPHABET大小,如果前面有空格的话.

示例用户写入"test new",因此"n"应该是一个大写,并且它会如此流畅以至于感觉用户按下了shift键

我想我们可以在keydown事件中做同样的事情(jquery)

代码是我尝试的是:

$('.name').live("keydown", function (e) {
  try {
    if ($('.name').val().length > 1) {
      if ($('.name').val().substring($('.name').val().length - 1) == " ") {
        // HERE can we do something like e.shift key etc to get desired result
      }
    }
  } catch (err) {
    alert(err);
  }
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery

4
推荐指数
2
解决办法
216
查看次数

正则表达式字符恰好出现两次

给定一个字符串数组,测试是否有任何字符恰好出现两次。

样本:

const input = ['asdf', 'fdas', 'asds', 'd fm', 'dfaa', 'aaaa', 'aabb', 'aaabb'];
const output = ['asds', 'dfaa', 'aabb', 'aaabb'];
Run Code Online (Sandbox Code Playgroud)

我试过这样

/(?:^|(.)(?!\1))([A-Za-z0-9])\2(?!\2)/
Run Code Online (Sandbox Code Playgroud)

但我只得到这些字符串:['dfaa', 'aabb', 'aaabb']

请问有什么建议吗?

javascript regex string

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

我如何获得与jquery匹配类的第一个父级?

我正在尝试获取匹配类检查的第一个父元素,但我遇到了问题.我的页面可能如下所示:

<input id="hidden1" type="hidden" value="5" class="includeds">
<h3>header</h3>
<ul class="groups">
    <li><input id="li1" type="checkbox" value="1" onclick="value()"></li>
    <li><input id="li2" type="checkbox" value="2" onclick="value()"></li>
    <li><input id="li3" type="checkbox" value="3" onclick="value()"></li>
</ul>
<input id="hidden2" type="hidden" value="3" class="includeds">
<h3>header2</h3>
<ul class="groups">
    <li><input id="li4" type="checkbox" value="4" onclick="value()"></li>
    <li><input id="li5" type="checkbox" value="5" onclick="value()"></li>
    <li><input id="li6" type="checkbox" value="6" onclick="value()"></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

因此,如果我单击复选框li1,我想"5"从其上方的隐藏字段中检索值.

如果我点击li5,我想"2"从它上面的第一个隐藏字段等获取值,等等.

我正在尝试这个(在value()函数内),但它不起作用,我一直收到一个未定义的错误.

var thevalue = $(this).closest(".includeds").value);
Run Code Online (Sandbox Code Playgroud)

要么

var thevalue = $(this).closest(".includeds").attr("value").toString());
Run Code Online (Sandbox Code Playgroud)

我不明白他们为什么不工作,有什么想法?谢谢你的帮助.

javascript jquery

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

元素之间的间距

我是CSS和HTML的完全开始,我正在构建我的第一个基本培训页面.

我现在要做的是在两个元素之间有间距而不使用<br>.目前我正在使用这个:

.formClear {
  clear:left;
  height:25px;
}
Run Code Online (Sandbox Code Playgroud)

它适用于间距,但你这是一个正确的方法吗?lineheight会更好吗?

line-height: 20px; 
Run Code Online (Sandbox Code Playgroud)

你有什么建议?请记住我开始学习:)

谢谢!

html css spacing

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

鼠标悬停,设置超时功能不起作用

两秒后鼠标悬停,但设置超时功能不起作用

JS

setTimeout(function () {
  $('.box').mouseover(function () {
    $(this).animate({
      marginTop: '-224px',
      height: '300px'
    })
    $(this).find('.rotate-arrow').addClass('rotate');
  });
}, 2000);
Run Code Online (Sandbox Code Playgroud)

css jquery

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

标签 统计

javascript ×8

jquery ×5

css ×3

angularjs ×2

html ×2

regex ×1

serialization ×1

spacing ×1

string ×1