小编elc*_*nrs的帖子

何时/为什么在使用jQuery时使用"$"为变量添加前缀?

可能重复:
为什么javascript变量以美元符号开头?

我看到人们在使用jQuery时在变量前面使用美元符号.这背后有什么理由吗?我错过了一些基本的东西,还是只是一种常见的做法?

javascript variables jquery dollar-sign

73
推荐指数
3
解决办法
4万
查看次数

jQuery ajax成功错误

我正在尝试提交一份表格女巫发送电子邮件:

JS

var that = $(this);
$.ajax({
  url: '../wp-content/themes/bsj/php/validate.php',
  type: 'post',
  context: that,
  data: $('#sign-up').serialize(),
  cache: false,
  success: function(){ 
    alert('success!');
  },
  error: function(){
    alert('error!');
  }
});
Run Code Online (Sandbox Code Playgroud)

PHP

/*----------------------------------
    Variables
----------------------------------*/

    // Personal info
    $prefix = $_POST['prefix'];
    $first_name = $_POST['first_name'];
    $last_name = $_POST['last_name'];
    $company = $_POST['company'];
    $email = $_POST['email'];
    $title = $_POST['title'];
    $dept = $_POST['dept'];

    // Contact details
    $address = $_POST['address'];
    $address2 = $_POST['address2'];
    $city = $_POST['city'];
    $state = $_POST['state'];
    $zip = $_POST['zip'];
    $phone = $_POST['phone'];
    $ext = $_POST['ext'];
    $fax = …
Run Code Online (Sandbox Code Playgroud)

ajax jquery

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

参数类型Number | Function不能赋予参数类型Number

var str = name.toUpperCase();
var ch = new Array();
ch = str.split('');

for(var i=0;i<7;i++)
{
  if(ch = null) {
    result_code.replace(
      pos.toString()+pos.toString()+pos.toString()+pos.toString(),
      "FFFF");
  } else {
    var temp = parseInt(ch[i]);
    var temp_integer = 64;
    if(temp<=122 & temp>=97) {
      var pos = i+1;
      result_code.replace(
        pos.toString()+pos.toString()+pos.toString()+pos.toString(),
        (temp - temp_integer)+40);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

此代码在此行创建错误result_code.replace(pos.toString()+pos.toString()+pos.toString()+pos.toString(), (temp - temp_integer)+40);.

带下划线的信息是本节(temp - temp_integer)+40.

显示的错误是Argument type Number is not assignable to parameter type String|Function.

这段代码有什么问题?我正在使用WebStorm.我可能只是犯了一个愚蠢的错误.提前致谢!

javascript webstorm

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

使用jQuery将选定属性添加到选择菜单中的选项

我正在制作一个选择菜单插件来替换丑陋的默认选择,并在不同的操作系统中保持一致.

这是演示(只有firefox和webkit)
http://spacirdesigns.com/selectMenu/

它已经可以工作了,但是我在向选项分配"selected"属性时遇到了问题.代码适用于任何其他属性,但我无法使用所选属性.

这有效:

select.find('option')
    .removeAttr('whatever')
    .eq(index).attr('whatever', 'hello');
Run Code Online (Sandbox Code Playgroud)

这不是:

select.find('option')
    .removeAttr('selected')
    .eq(index).attr('selected', 'selected');
Run Code Online (Sandbox Code Playgroud)

这是迄今为止的代码:

(function($){

        $.fn.selectMenu = function() {

            var select = this;
            select.hide();

            var title = select.attr('title');
            var arrow = 'img/arrow.png';
            var items = '';

            select
                .children('option')
                .each(function(){
                    var item = $(this).text();
                    if ($(this).val() != '') { 
                        $(this).attr('value', item);
                    }
                    items += '<li>' + item + '</li>'
                });

            var menuHtml =
                '<ul class="selectMenu">' + 
                '<img src="' + arrow + '" alt=""/>' +
                '<li>' + title + '</li>' + …
Run Code Online (Sandbox Code Playgroud)

jquery menu selected option

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

操作DOM后,元素不会在路由器导航中被破坏

我有一个指令,需要将应用它的元素移动到文档的主体:

@Directive({
  selector: '[myDirective]'
})
export class MyDirective implements AfterViewInit {
  constructor(private elem: ElementRef,
    private renderer: Renderer2) {
  }

  ngAfterViewInit() {
    // Move element to body
    this.renderer.appendChild(document.body, this.elem.nativeElement);
  }
}
Run Code Online (Sandbox Code Playgroud)

现在我在一个元素中使用这个指令ngIf,我根据一些条件进行切换:

<div myDirective *ngIf="visible">Test</div>
<button (click)="visible = !visible">Toggle</button>
Run Code Online (Sandbox Code Playgroud)

当它运行时,div将按预期显示按钮之后,因为它被附加到正文.此时切换按钮仍然有效,我可以显示/隐藏div.

当我介绍路线时,问题出现了:

<a routerLink="/route/1">Link</a>
<div myDirective *ngIf="visible">Test</div>
<button (click)="visible = !visible">Toggle</button>
Run Code Online (Sandbox Code Playgroud)

现在,如果我显示div,并导航到另一条路线,div应该被摧毁,但它仍然可见!如果我不将div移动到身体,那么它的行为与预期的一样.

首先,我尝试删除元素,ngOnDestroy但这不适用于动画,因为它删除元素而不播放它:离开动画.

我目前的解决方法是将路由器注入指令并订阅第一个将div恢复到其原始容器的事件:

this.routerSubscription = router.events.first().subscribe(() => {
  this.renderer.appendChild(this.parentNode, this.elem.nativeElement);
});
Run Code Online (Sandbox Code Playgroud)

虽然这有效,但它并不好,因为现在该指令在路由器中具有依赖性,而它应该对它一无所知.

如何改进这个黑客以确保元素被正确销毁?

演示: https ://stackblitz.com/edit/angular-qximjw?file = app%2Fapp.component.ts …

angular

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

将LESS变量传递给JavaScript

我有一个LESS文件有一些变量:

@font-size: 100%;
@label-align: left;
@field-width: 230px;
@icon-size: 16px;
@icon-padding: 8px;
Run Code Online (Sandbox Code Playgroud)

在我的JS脚本中,我需要知道用户在LESS文件中设置的一些初始值的总和.计算的css值可能会根据父容器大小而更改.这些值也会在第一次加载时更改,具体取决于窗口大小.

一些元素也是动态创建的,因此很难在JS中获取正确的初始值,因为我必须在代码和不同范围的不同点声明变量.

我的一个想法是使用一些虚拟变量声明一个"高范围"对象,并在将元素追加到DOM时立即将值赋给变量,但结果却是混乱和冗余.

几个小时后,我想出了这个目前有效的想法,有点hacky但有效.

减:

.less-vars {
    width: @field-width + @error-width + @icon-size + (@icon-padding * 2);
}
Run Code Online (Sandbox Code Playgroud)

JS:

var less_vars = $('<div class="less-vars" />').hide().appendTo('body').width();
$('.less-vars').remove();
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以做到这一点?

javascript css jquery less

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

通过终端获取MAC代理变量的Docker

我在代理后面使用Docker for mac.我在Docker GUI中的"Proxies" - >"Manual proxy configuration"下设置了代理配置.这让我可以从代理后面的存储库下载Docker镜像.

接下来,我设置了http_proxyhttps_proxy环境变量,我在docker-compose.yml中使用它们将它们传递给构建:

services:
  app:
    build:
      context: .
      args:
        http_proxy: $http_proxy
        https_proxy: $https_proxy
Run Code Online (Sandbox Code Playgroud)

如何在终端中获取通过Docker GUI设置的变量,这样我就不必设置它们两次了?我可以使用任何特定于Docker的环境变量吗?

docker docker-compose

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

html到pdf与wkhtmltopdf

html非常简单,只有一个图像和一个绝对定位的div.pdf看起来不错,布局很完美,分辨率也是如此,但还有一个额外的空白页面.

我尝试了这两个命令,得到了相同的结果:

wkhtmltopdf --page-width 11 --page-height 8.5 -O Landscape file.html file.pdf
wkhtmltopdf -s Letter -O Landscape file.html file.pdf
Run Code Online (Sandbox Code Playgroud)

如何摆脱空白页面?

html pdf wkhtmltopdf

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

这是什么== - javascript运算符?

当我发现==-或者,我在尝试不同的条件时磕磕绊绊==+.

在JS控制台中,您可以编写:

var a = " ";
Run Code Online (Sandbox Code Playgroud)

那么以下是真的

a == " ";
Run Code Online (Sandbox Code Playgroud)

但这是错误的

a == "    ";
Run Code Online (Sandbox Code Playgroud)

但是,如果你说:

a ==- "   ";
Run Code Online (Sandbox Code Playgroud)

要么

a ==+ "   ";
Run Code Online (Sandbox Code Playgroud)

那么这个漂亮的==-运营商是什么?

javascript

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

Jquery,在每个循环中为数组添加值

我有一个jQuery应用程序,用户可以从输入字段向列表中添加项目.我想在提交表单时将所有项目放在数组中,以便稍后我可以使用php操作它们.这是正确的方法吗?

jQuery的:

$("#form").submit(function(){
   var items = [];
   $("#items li").each(function(n){
      items[n] = $(this).html();
   });
   $.post(
      "process.php", 
      {items: items}, 
      function(data){
          $("#result").html(data);
      });
});
Run Code Online (Sandbox Code Playgroud)

PHP:

$items = $_POST["items"];
foreach($items as $item){
    //Something here
}
Run Code Online (Sandbox Code Playgroud)

php forms arrays jquery submit

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