是否有可用于练习OOP设计技巧的网站/问题列表?假设我是一名熟悉面向对象设计理论的同事,这些问题应该让我有机会运用理论并提高我的软件设计技能.
使用jQuery,如何匹配DOM树中当前元素之前的元素?使用prevAll()只匹配以前的兄弟姐妹.
例如:
<table>
<tr>
<td class="findme">find this one</td>
</tr>
<tr>
<td><a href="#" class="myLinks">find the previous .findme</a></td>
</tr>
<tr>
<td class="findme">don't find this one</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
在我的具体情况下,我将在点击链接之前搜索第一个 .findme元素.
我使用jquery accordion插件在页面上设置了一些手风琴,所以我可以实现expand all并折叠所有功能.
每个ID元素都是它自己的手风琴,下面的代码可以将它们全部关闭,无论哪个已经打开:
$("#contact, #address, #email, #sales, #equipment, #notes, #marketingdata")
.accordion("activate", -1)
;
Run Code Online (Sandbox Code Playgroud)
我的问题是扩展所有.当我将它们全部展开时使用以下代码:
$("#contact, #address, #email, #sales, #equipment, #notes, #marketingdata")
.accordion("activate", 0)
;
Run Code Online (Sandbox Code Playgroud)
有些人会收缩,有些人会根据他们以前是否开放而扩大.
我纠正这个问题的想法是将它们全部折叠,然后在点击展开全部时将它们全部展开.但是这段代码无法正常执行:
$("#contact, #address, #email, #sales, #equipment, #notes, #marketingdata")
.accordion("activate", -1)
;
$("#contact, #address, #email, #sales, #equipment, #notes, #marketingdata")
.accordion("activate", 0)
;
Run Code Online (Sandbox Code Playgroud)
它只会击中第二个命令而不是先关闭它们.有什么建议?
如何将事件处理程序从一个元素复制到另一个元素?例如:
$('#firstEl')
.click(function() {
alert("Handled!");
})
;
// here's where the magic happens
$('#secondEl').click = $('#firstEl').click; // ????
Run Code Online (Sandbox Code Playgroud)
请注意,第二个元素正在处理第一个元素获取其处理程序的不同时间,这意味着:
$('#firstEl, #secondEl').click(function() { ... });
Run Code Online (Sandbox Code Playgroud)
......不行.
我有一个PHP脚本,它读取大型CSV并执行某些操作,但前提是"用户名"字段是唯一的.CSV用于多个脚本,因此将输入从CSV更改为仅包含唯一用户名不是一种选择.
最基本的程序流程(我想知道)是这样的:
$allUsernames = array();
while($row = fgetcsv($fp)) {
$username = $row[0];
if (in_array($username, $allUsernames)) continue;
$allUsernames[] = $username;
// process this row
}
Run Code Online (Sandbox Code Playgroud)
由于这个CSV实际上可能非常大,所以这in_array一点让我思考.在数组中搜索成员时最理想的情况是它是否已经排序,那么如何从头开始构建数组,保持它的顺序?一旦它按顺序排列,是否有更有效的搜索方式而不是使用in_array(),考虑到它可能不知道数组是否已排序?
我需要在表中插入一行,其中一个字段值是从另一个表计算的.我认为最好在一个声明中做到这一点,而不是做两个查询并冒着竞争条件冒险.
INSERT INTO `myTable` (`someData`, `averageAtThisTime`)
VALUES (
"some stuff",
SELECT AVG(`myField`) FROM `myOtherTable`
)
Run Code Online (Sandbox Code Playgroud)
......但这不起作用.有没有办法在一个声明中实现这一目标?如果没有,你的建议是什么?
如果你正在为一个(比如说)PHP开发人员宣传一个编程职位,并且应用了一个很好的简历,但是他们是(比如说)ASP.NET的专家,他们的简历中的PHP组件很轻,你还会考虑他们的位置?您是否认为编程技巧通常胜过特定的语言技能?
重新加载页面时是否可以保留我的(全局)变量?如果有,怎么样?
谢谢你的帮助.最好的祝福.
如何格式化HTML锚标记以链接到共享网络文件夹?
我尝试了以下,它不喜欢它.
<a href="file:\\myserver\myfolder\myfile.docx">My Shared Folder</a>
Run Code Online (Sandbox Code Playgroud) 是否可以package.json为单个NodeJS项目提供两个文件?
在我正在开发的项目中,有一个可选的实验性功能,需要一些自己的节点包.对于每天的开发,我不想强迫所有开发人员安装这些包.
实际上,我想要的是一个文件,它只是以类似的格式列出npm依赖项package.json,然后npm install用来安装所有这些依赖项.
例如:
// package.json:
{
"dependencies": {
"underscore": "1.1.7",
"connect": "1.7.0"
}
}
// alt.json
{
"dependencies": {
"experimental_package": "0.0.1",
"and_another_one": "1.33.7"
}
}
Run Code Online (Sandbox Code Playgroud)
然后,像:
$ npm install
// install the regular package.json stuff
$ npm install alt.json
// install the other ones
Run Code Online (Sandbox Code Playgroud)
请注意,这不一样devDependencies