小编O C*_*nor的帖子

为什么我不能使用纯 JavaScript 选择下一个 DIV 同级?

我有两个div元素,第一个 div 中有一个按钮,如下所示。

<div class='my-class'>
    <div class='other-div'>
       <button onClick="nextDiv(this);">Click</button>
    </div> 
</div> 
<div class='my-class'>
</div>
Run Code Online (Sandbox Code Playgroud)

下面是我的 JavaScript 代码。

function nextDiv(element) {
      element.closest('.my-class').style.display = 'none';
      element.closest('.my-class').nextSibling.style.display = 'block';
}
Run Code Online (Sandbox Code Playgroud)

当我点击按钮时,为什么我可以隐藏第一个元素,但无法显示下一个带有 class 的 div 元素my-class。相反,我收到以下错误:

 Uncaught TypeError: Cannot set property 'display' of undefined
Run Code Online (Sandbox Code Playgroud)

似乎我无法my-class使用 nextSibling 属性选择类的下一个 div 元素。我做错了什么?

html javascript closest nextsibling

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

LinkedHashMap vs HashMap,LinkedHashSet vs HashSet

我知道所有这些之间的区别,我理解LinkedHashMapLinkedHashSet提供插入排序.我理解LinkedHashMap extends HashMapLinkedHashSet extends HashSet.

为什么我们不总是使用LinkedHashMap而不是HashMap为什么我们不总是使用LinkedHashSet而不是HashSet

java hashmap hashset linkedhashmap linkedhashset

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

Yii Framework 2.0检查它是否是来自AJAX的GET请求

使用Yii framework 2.0,我有一个AJAX GET jQuery脚本,它指向控制器类中的一个函数.

$.get('localhost/website/index', {param: 'xxxx'}, function(returnedData){
    // some code here.....
}, 'json');
Run Code Online (Sandbox Code Playgroud)

在控制器类中,我有一个处理AJAX GET请求的方法.

public function actionIndex() {
     $getParam = $_GET['param'];
     // echo $getParam is: 'xxxx'.

     // some other code here....

     echo json_encode(array());
}
Run Code Online (Sandbox Code Playgroud)

执行这个AJAX GET jQuery脚本时一切正常.但是,如果我在Web浏览器上手动访问链接localhost/website/index,我会收到以下错误.

PHP Notice - ErrorException
Undefined index: param

// the code snippet is also being shown.....
Run Code Online (Sandbox Code Playgroud)

我不希望任何用户看到此错误,以防他们知道此链接并偶然或故意访问此链接.如果我使用

if($_GET['param']){...}
Run Code Online (Sandbox Code Playgroud)

我仍然在浏览器上收到错误消息.我怎么解决这个问题?

javascript php ajax jquery yii2

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

Laravel 5.7 中的 Arr::get() 与 data_get()

使用data_get()辅助函数,我们可以使用点.表示法获取嵌套数组的值,如下所示:

$my_arr = [
    'a' => ['lower' => 'aa', 'upper' => 'AAA',], 
    'b' => ['lower' => 'bbb', 'upper' => 'BBBBB',],
];
Run Code Online (Sandbox Code Playgroud)

因此,我可以a通过这样做来降低。

data_get($my_arr, 'a.lower');
Run Code Online (Sandbox Code Playgroud)

您还可以执行以下操作。

Arr::get('a.lower');
Run Code Online (Sandbox Code Playgroud)

如果我只想获得数组的第一级。我只能两者兼得:

data_get($my_arr, 'a');
Run Code Online (Sandbox Code Playgroud)

或者

Arr::get($my_arr, 'a');
Run Code Online (Sandbox Code Playgroud)

你推荐我哪一个,为什么?我只是想不断改进我的 Laravel 体验,并从高级开发人员那里获得好的建议,以选择目前最好的选项。

php arrays facade laravel-5

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

如何使用jQuery在按钮单击时显示下一个div?

下面是我的元素。

<div class="first-div">
   DIV 1
   <button class="next">Next</button>
</div>
<div class="next-div" style="display:none;">
   DIV 2
   <button class="back">Back</button>
   <button class="next">Next</button>
</div>
<div class="next-div" style="display:none;">
   DIV 3
   <button class="back">Back</button>
   <button class="next">Next</button>
</div>
<div class="next-div" style="display:none;">
   DIV 4
   <button class="back">Back</button>
</div>
Run Code Online (Sandbox Code Playgroud)

如何选择下一个隐藏.next-div元素并显示它并选择上一个隐藏元素并使用 jQuery 显示它?

html javascript jquery

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

从 SQL select sum group by 到 Yii 框架中的 Active Record 2

下面是我的纯 SQL 查询。

SELECT SUM(money) AS total_money, user_id 
FROM User 
INNER JOIN Person 
        ON Person.user_id = User.user_id 
GROUP BY user_id
Run Code Online (Sandbox Code Playgroud)

如何将这个纯查询转换为 Yii 框架 2 中的 ActiveRecord?我可以解决这个问题INNER JOIN,但不知道如何解决,SUM包括GROUP BY使用 Yii 2 ActiveRecord

php mysql sql yii2

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

Laravel 5.8, PHP 中的validate() 和validated() 函数有什么区别?

我在 laravel.com 网站上的文档中找不到validate()validated()函数之间的不同定义。

但是在Validator接口文件中,我已经阅读了该函数的注释如下:

/**
 * Run the validator's rules against its data.
 *
 * @return array
 */
public function validate();

/**
 * Get the attributes and values that were validated.
 *
 * @return array
 */
public function validated();
Run Code Online (Sandbox Code Playgroud)

我确实理解这些注释,但是当我编写代码并测试这两个函数时,我没有发现任何区别。两者的行为似乎相同:

  1. 验证数据。
  2. 如果失败,则将用户重定向到他们的上一页。
  3. 如果成功,则以数组形式返回经过验证的数据。

那么,这两个函数在 Laravel 5.8 中有什么区别呢?

在我的情况下,我使用如下验证,因为我不想在验证失败时将用户重定向回他们的上一页。

$validator = validator($array_data, $array_rules, $array_message);

if ($validator->fails()) {
    // Do something
} else {
    $validated_data = $validator->validate();
    // Here I am not sure if I should …
Run Code Online (Sandbox Code Playgroud)

php validation laravel-5 laravel-5.8

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

如何编写sql查询以按类型选择和分组以及每种类型的计数?

下面是我的数据库表。

id     name    type   
1      a       1
2      a       1
3      a       1
4      a       0
5      a       0
6      b       1
7      b       1
8      b       0
9      b       0
10     b       0
11     c       1
12     c       1
13     c       0
Run Code Online (Sandbox Code Playgroud)

我想按类型选择和分组,并按类型计数。如何编写sql查询得到如下结果?

name    count_type_0    count_type_1
a       2               3
b       3               2
c       1               2
Run Code Online (Sandbox Code Playgroud)

mysql sql select group-by count

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

C++中Lambda Curry表达式的优点是什么?

我已经学会了如何在 C++ 中编写以下 lambda 表达式:

auto addCurry = [](auto &a) {
    return [&a](auto &b) {
        return [&a, &b] (auto &c){
            return a+b+c;
        };
    };
};

std::cout << addCurry("how")("are")("you?") << std::cout;
Run Code Online (Sandbox Code Playgroud)

我应用上述技术来连接字符串或对一些数字求和。我想知道为什么我应该在普通函数或普通内联字符串连接上引用上面的 lambda 表达式,如下所示?

auto my_function(auto &a, auto &b, auto &c) {
    return a + b + c;
}

std::string a = "aa", b="bb", c = "cc";
std::cout << my_function(a, b, c) << std::endl;

// or just...
std::string my_string = a + b + c;

// or just ...
int i …
Run Code Online (Sandbox Code Playgroud)

c++ lambda

-2
推荐指数
1
解决办法
85
查看次数