小编Jos*_*ber的帖子

使用嵌套的三元运算符

我一直试图以isset()嵌套的形式使用,如下所示:

isset($_POST['selectedTemplate'])?$_POST['selectedTemplate']:isset($_GET['selectedTemplate'])?$_GET['selectedTemplate']:0
Run Code Online (Sandbox Code Playgroud)

但似乎我错过了一些东西.任何人都可以帮我怎么做?

php

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

在jQuery 1.8中的自定义筛选器选择器中获取"匹配"对象

作为参考,这里有一篇关于使用jQuery创建自定义过滤器选择器的文章.


介绍:

对于那些不熟悉jQuery的自定义滤波器选择器的人,这里有一个关于它们的快速入门:

如果需要可重用filter,可以通过向jQuery.expr[':']对象添加自己的函数来扩展jQuery的选择器表达式.

该函数将在当前集合中的每个元素上运行,并应返回true或false(非常类似filter).三位信息传递给此函数:

  1. 有问题的元素

  2. 整个集合中此元素的索引

  3. match从正则表达式匹配返回的数组,其中包含更复杂表达式的重要信息.

一旦你扩展jQuery.expr[':'],你可以用它在你的jQuery选择过滤器,就像你使用任何内置者的(:first,:last,:eq()等)


这是一个示例,我们将过滤分配了多个类的元素:

jQuery.expr[':'].hasMultipleClasses = function(elem, index, match) {
    return elem.className.split(' ').length > 1;
};

$('div:hasMultipleClasses');
Run Code Online (Sandbox Code Playgroud)

这是小提琴:http://jsfiddle.net/acTeJ/


在上面的例子中,我们没有使用match传入我们函数的数组.让我们尝试一个更复杂的例子.在这里,我们将创建一个过滤器来匹配具有高于tabindex指定数量的元素:

jQuery.expr[':'].tabindexAbove = function(elem, index, match) {
    return +elem.getAttribute('tabindex') > match[3];
};

$('input:tabindexAbove(4)');
Run Code Online (Sandbox Code Playgroud)

这是小提琴:http://jsfiddle.net/YCsCm/

这是有效的原因是因为match数组是从用于解析选择器的正则表达式返回的实际数组.所以在我们的例子中,match将是以下数组:

[":tabIndexAbove(4)", "tabIndexAbove", "", "4"]
Run Code Online (Sandbox Code Playgroud)

如您所见,我们可以通过使用来获得括号内的值match[3]. …

javascript jquery jquery-selectors

23
推荐指数
2
解决办法
2436
查看次数

删除(取消链接)与正则表达式匹配的文件

我想删除目录中的几个文件,匹配正则表达式.像这样的东西:

// WARNING: not real code
require('fs').unlink(/script\.\d+\.js$/);
Run Code Online (Sandbox Code Playgroud)

由于unlink不支持正则表达式,我使用它代替:

var fs = require('fs');

fs.readdir('.', (error, files) => {
    if (error) throw error;

    files.filter(name => /script\.\d+\.js$/.test(name)).forEach(fs.unlink);
});
Run Code Online (Sandbox Code Playgroud)

这是有效的,但IMO比它应该更复杂.


是否有更好的内置方法来删除与正则表达式匹配的文件(甚至只是使用通配符)?

javascript filesystems file-io node.js

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

正则表达式:如何表达\ w没有下划线

是否有简洁的表达方式:

\w but without _
Run Code Online (Sandbox Code Playgroud)

也就是说,"所有字符都包含在\ w中,除了_"

我问这个是因为我正在寻找表达域名验证的最简洁方式.域名可以包括小写和大写字母,数字,句号和破折号,但不包括下划线.\ w包括以上所有内容,加上下划线.那么,有没有办法通过正则表达式语法从\ w"删除"下划线?

编辑:我问的是PHP中使用的正则表达式.

提前致谢!

php regex url

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

为什么hover伪类会覆盖活动的伪类

标题基本上都说明了一切.

假设我有,我想改变颜色的元素:hover,但在点击后,我希望它切换回原来的颜色.所以,我试过这个:

a:link, a:visited, a:active {
    background: red;
}
a:hover {
    background: green;
}
Run Code Online (Sandbox Code Playgroud)

事实证明,这不起作用.在经历了许多:hover令人头疼的事后,我意识到国家正在压倒:active国家.这很容易解决:

a:link, a:visited {
    background: green;
}
a:hover {
    background: red;
}
a:active {
    background: green;
}
Run Code Online (Sandbox Code Playgroud)

(我可以将第一条规则与第三条规则结合起来).

这是小提琴:http://jsfiddle.net/V5FUy/


我的问题:这是预期的行为吗?据我所知,:active国家应该总是覆盖:hover国家,因为:active国家几乎总是伴随着:hover国家.

html css css-selectors css-specificity

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

纯净的CSS三角形,半透明边框.可能?

是否可以使用css绘制一个围绕它的半透明边框的箭头? 在此输入图像描述

到目前为止,这是我努力的一个小提琴:http: //jsfiddle.net/calebo/fBW4u/

CSS:

.ui-overlay {
  padding-bottom: 10px;   
  position: relative;
}
.ui-overlay-content { 
  background: #999;
  color: #000;
  padding: 8px;
  border-radius: 4px; 
  border: 5px solid rgba(0, 0, 0, 0.2); 
  background-clip: padding-box; 
  height: 100px;
  width: 200px;
}
.arrow {
  border-color: #999 transparent transparent; 
  border-style: solid; 
  border-width: 10px 10px 0; 
  bottom: 5px; 
  left: 15px; 
  width: 0;
  height: 0;
  position: absolute;
  overflow: hidden; 
}
Run Code Online (Sandbox Code Playgroud)

css webkit mobile-safari css3

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

在Angular.js中的子目录中路由

是否有可能以一种从将部署它的Web目录路径中抽象出来的方式开发Angular.js应用程序?

我试图将Angular.js应用程序放在Web服务器子目录http://example.com/myproject/中,但路由器将我重定向到Web服务器根目录 - http://example.com.

下面是我的Angular.js应用程序:

var myproject = angular.module('myproject', []);

myproject.config(function($routeProvider, $locationProvider) {
  $routeProvider.
    when('/', {templateUrl: 'partials/index.html', controller: IndexCtrl}).
    otherwise({redirectTo: '/'});

  $locationProvider.html5Mode(true);
});



function IndexCtrl($scope, $location) {

}
Run Code Online (Sandbox Code Playgroud)

url-routing angularjs

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

PHP - 如何比较两个数组并删除重复值

所以这是困扰我的.

我有两个数组:

$array1 = array('[param1]' ,'demo' ,'[param2]' ,'some' ,'[param3]');
$array2 = array('value1'   ,'demo' ,'value2'   ,'some' ,'value3');
Run Code Online (Sandbox Code Playgroud)

现在我想比较这两个数组,并删除所有重复的值.
最后我想要这两个数组,但没有'demo'和'some'值.
我想从array-s中删除具有相同索引键和值的所有值.
Array将始终具有相同数量的值和索引,我只想比较它们并从两者中删除具有相同索引键和值的条目.

我现在正在做这样的事情:

$clean1 = array();
$clean2 = array();    

foreach($array1 as $key => $value)
{
    if($value !== $array2[$key])
    {
        $clean1[$key] = $value;
        $clean2[$key] = $array2[$key];
    }
}

var_export($clean1);
echo "<br />";
var_export($clean2);
Run Code Online (Sandbox Code Playgroud)

这有效!但我想知道有没有其他方法这样做?也许没有使用foreach循环?这样做有更优雅的方式吗?

php arrays

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

Javascript中的&&运算符

在查看一些代码(javascript)时,我发现了这段代码:

<script>window.Bootloader && Bootloader.done(["pQ27\/"]);</script>
Run Code Online (Sandbox Code Playgroud)

我不明白的&&是在那里做的是什么,代码来自Facebook,显然是缩小和/或混淆,但它仍然做同样的事情.

tl;博士:&&运营商在这做什么?

javascript operators

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

使Div尽可能宽

为了解释我的问题,我试图使div足够宽以容纳动态生成的标题而不包装它,但div也有其他内容,我想包装.

换一种说法:

CSS:

.box {
    min-width:170px;
}

.box span.title {
    font-size:24px;
    white-space: nowrap;
}

.box span.text{
    font-size:10px;
    white-space: normal;
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<div class="box">
   <span class="title">Title on one line</span><br />
   <span class="text">This is the main body of text which I want to wrap as
           required and have no effect on the width of the div.</span>
</div>
Run Code Online (Sandbox Code Playgroud)

但是,这会导致div扩展到足够宽,以便在一行中包含主体文本,我想要包装.我已经尝试过各种各样的CSS安排,并将它们全部放在容器div等中,但我似乎无法让盒子足够宽,只包含标题而不包装(但不小于最小宽度)

有没有办法在CSS中做到这一点?注意我不想设置最大宽度,因为这只会使它再次成为静态大小,因为文本的主体总是足以达到最大宽度.我也不能手动打破身体,因为它是动态生成的.

css

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