可能重复:
为什么javascript变量以美元符号开头?
我看到人们在使用jQuery时在变量前面使用美元符号.这背后有什么理由吗?我错过了一些基本的东西,还是只是一种常见的做法?
我正在尝试提交一份表格女巫发送电子邮件:
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) 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.我可能只是犯了一个愚蠢的错误.提前致谢!
我正在制作一个选择菜单插件来替换丑陋的默认选择,并在不同的操作系统中保持一致.
这是演示(只有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) 我有一个指令,需要将应用它的元素移动到文档的主体:
@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 …
我有一个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)
有没有其他方法可以做到这一点?
我在代理后面使用Docker for mac.我在Docker GUI中的"Proxies" - >"Manual proxy configuration"下设置了代理配置.这让我可以从代理后面的存储库下载Docker镜像.
接下来,我设置了http_proxy
和https_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的环境变量吗?
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)
如何摆脱空白页面?
当我发现==-
或者,我在尝试不同的条件时磕磕绊绊==+
.
在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)
那么这个漂亮的==-
运营商是什么?
我有一个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)