我有这个小提琴:http://jsfiddle.net/v9s5ezpb/1/
HTML
<table>
<tr>
<td>test1</td>
<td>test2</td>
<td><a href="#">test3</a></td>
<td>test4</td>
<td>test5</td>
<td class="no-alert">test6</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
CSS
table {
border: 1px solid #000;
}
table td {
border: 1px solid #000;
padding: 10px;
}
Run Code Online (Sandbox Code Playgroud)
JS
$(document).on('click', 'table td:not(.no-alert, a)', function()
{
alert(1);
});
Run Code Online (Sandbox Code Playgroud)
我希望我的代码在每次单击任何表TD项目时执行警报窗口,但具有特定类或具有锚标记的项目除外.
怎么可能?
我正在使用 Laravel 5.6 - 查询生成器。
是否可以以编程方式创建一个查询生成器 where 声明一个值等于所有内容?
假设我有这段代码:
$foo = 1;
DB::table('users')
->select('*')
->where('status', '=', $foo)
->get();
Run Code Online (Sandbox Code Playgroud)
如果$foo = 1那么就简单了。该查询将选择状态为 1 的所有内容。
问:是否可以将一些东西分配给$foo变量分配一些内容,以便选择查询返回每条记录,而不管数据库的状态如何?
当然,我可以用这样的 2 个查询语句来实现它:
$foo = 1;
if ($foo === null) {
DB::table('users')
->select('*')
->get();
} else {
DB::table('users')
->select('*')
->where('status', '=', $foo)
->get();
}
Run Code Online (Sandbox Code Playgroud)
但是,我正在寻找更短/更有效的解决方案。是否有可能以某种方式 - 不在raw codeWhere 语句中使用?
我正在尝试使用 Laravel 5.6 创建 API,但是,在我看来,在参数之前/之后无法使用可选的路由参数。
我想实现以下目标:
Route::get('api/lists/{id?}/items',
[
'as' => 'api/lists/items/get',
'uses' => 'ListsController@getListItems'
]);
Run Code Online (Sandbox Code Playgroud)
在上述情况下,如果我尝试访问api/lists/1/items它会显示该页面。另一方面,如果我试图访问api/lists/items它,它会说找不到该页面。
我基本上想要的是如果没有指定列表 ID,Laravel 应该获取所有列表 ID 的项目,否则它应该只获取特定 ID 的项目。
问: “路由词”之间的可选参数怎么可能?甚至有可能吗?或者是否有其他解决方案?
我在 PHP 类中有多个嵌套方法。我想要做的是,基于某些情况,我想退出不仅仅是当前方法,而是退出它上面的 2,然后剩余的代码应该继续运行。现在 die()、exit() 的问题是它们结束了完整的脚本,而我不想要那样。我只是想使用一些方法并继续编写脚本。
当然,在每个方法中都有返回一个值并检查它是否为假的老派方法。但是那样的话,如果我有 50 个嵌套方法,我将不得不编写大量的附加代码。这是我现在所拥有的 - 这是一个非常基本的用法,我在更复杂的场景中使用它(使用 PHP 7.2.4):
class Sites
{
public function __construct()
{
$this->fn1();
}
public function fn1()
{
$fn2 = $this->fn2();
echo 'I want this to be displayed no matter what!';
}
public function fn2()
{
$fn3 = $this->fn3();
if ($fn3)
{
return true;
}
}
public function fn3()
{
$fn4 = $this->fn4();
if ($fn4)
{
return true;
}
}
public function fn4()
{
$random = rand(1, 100);
if ($random > 50) …Run Code Online (Sandbox Code Playgroud) 我的项目中有几个 setTimeout 函数,每个函数都有一个 setInterval。
根据我所经历的,当我离开窗口时 setInterval 会停止,但是,setTimeout 不会停止计算秒数。
当有人离开当前窗口(切换到另一个窗口)时,是否可以暂停 setTimeout 的计时器并在他返回时继续它?如果是,如何?
这是我设法创建的代表我的问题的代码:
// find elements
var banner = $("#banner-message")
var banner2 = $("#banner-message2")
var banner3 = $("#banner-message3")
var num = 0;
var num2 = 0;
var num3 = 0;
var i1 = setInterval(function() {
num++;
$(banner).text(num);
if (num >= 100)
{
clearInterval(i1);
}
}, 50);
setTimeout(function()
{
var i2 = setInterval(function() {
num2++;
$(banner2).text(num2);
if (num2 >= 100)
{
clearInterval(i2);
}
}, 50);
}, 5500);
setTimeout(function()
{
var i3 = …Run Code Online (Sandbox Code Playgroud)我在目录中有一张图片,可以这样说:test.jpg。
在此目录中,我还有2个其他PHP文件:new.php和load.php
现在,我要做的是,当人们访问该网站时new.php,他们应该需要查看test.jpg图像。
然而!如果将new.php放入<img>标签,我还需要它还应正确显示图像。
我曾试着拨打图像中的img标签,但它无法正确加载,当我插入new.php到img标签。
<img src="test.jpg">
Run Code Online (Sandbox Code Playgroud)
如果您知道我的意思,那怎么可能使php作为图像工作呢?
我想使用来自数据库的一些选项在PHP中构建一个IF语句.
假设我从数据库得到这样的数组:
$db = [
'number1' => [
'<= 5',
'&&'
],
'number2' => [
'> 200',
'&&'
],
'number3' => [
'= 1',
'||'
],
'number3' => [
'= 2',
'||'
],
];
Run Code Online (Sandbox Code Playgroud)
我想将其翻译成:
if ($data['number1'] <= 5 &&
$data['number2'] > 200 &&
($data['number3'] == 1 ||
$data['number3'] == 2
)) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
当然,我通过做一个foreach并将数组的KEY放入$data['']数组来启动它.但是,我很不确定如何将逻辑运算符和其他所有内容放在适当的位置.
谁能给我一个想法吗?
我有一个新的 Laravel 5.8 应用程序。我开始使用 Eloquent ORM 及其关系。
我马上就遇到了一个问题。
我有以下表格。(这只是一个示例,出于测试原因,不会成为实际应用程序)
Login table:
--------------------------
| id | user | data_id |
--------------------------
| 1 | admin | 1 |
| 2 | admin | 2 |
| 3 | admin | 3 |
--------------------------
Data table:
--------------
| id | ip_id |
--------------
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
--------------
IP table:
----------------------
| id | ip |
----------------------
| 1 | 192.168.1.1 …Run Code Online (Sandbox Code Playgroud)