考虑下面的结构
按钮http://i62.tinypic.com/2j0ceh2.jpg
我想要的是在点击按钮时选择最接近的9个按钮,然后让我们改变bg颜色.这是我的自定义代码已经做到了
$(document).on("click", "#footer button", function(){
var index = $(this).index();
var len = $("#footer button").length;
$("#footer button").css({
"background-color" : "#ccc"
});
if (index < 5) $("#footer button:lt(9)").css({
"background-color" : "#c99"
});
else if (index > (len - 6)) $("#footer button:gt(-10)").css({
"background-color" : "#c99"
});
else $("#footer button").slice((index -4), (index + 5)).css({
"background-color" : "#c99"
});
});
Run Code Online (Sandbox Code Playgroud)
现在,我发现if .. else ..在某种程度上使用jquery选择器的块是蹩脚的.当然,如果必须,我们必须使用它,但在这种情况下,我们呢?是否有任何内置方法可以在jquery中为此目的进行链接?
这里是玩弄的小提琴.
我希望我的click函数能够运行所有元素,并且我希望获得单击的元素标记名称.
对于这样的页面,例如,
<html>
<body>
<form>
<div>
<input type="text">
<textarea></textarea>
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
如果我运行这个js代码
$("*").live('click',function(evt) {
alert(evt.target.tagName);
});
Run Code Online (Sandbox Code Playgroud)
然后点击textarea,它会提醒"TEXTAREA"5次,因为它有4个父母.
在哪里修理?
这一定是一件非常容易的事情,但我无法完成任务,也无法在任何地方找到这样的问题.这就是我的select代码:
SELECT *,
(SELECT SUM(x) FROM a WHERE (...)) AS sum_x,
(SELECT SUM(y) FROM b WHERE (...)) AS sum_y
FROM table
Run Code Online (Sandbox Code Playgroud)
我想创建一个更多的领域(sum_x - sum_y),但当我尝试做这样的事情
SELECT *,
(SELECT SUM(x) FROM a WHERE (...)) AS sum_x,
(SELECT SUM(y) FROM b WHERE (...)) AS sum_y,
(sum_x - sum_y) AS sum_c
FROM table
Run Code Online (Sandbox Code Playgroud)
它对我生气并说Unknown column 'sum_x' in 'field list'.
我在这里失踪了什么?
这是我用来检测输入密钥的一些指令
.directive('enterSubmit', function() {
return {
restrict: 'A',
link: function(scope, elem, attrs) {
elem.bind('keydown', function(event) {
var code = event.keyCode || event.which;
if (code === 13) {
if (!event.shiftKey) {
event.preventDefault();
scope.$apply(attrs.enterSubmit);
}
}
});
}
}
})
Run Code Online (Sandbox Code Playgroud)
我有一个function我想得到$event它作为参数.
$scope.test = function(evt){
var el = angular.element(evt.target);
console.log(el[0]);
}
Run Code Online (Sandbox Code Playgroud)
但是当我在内置指令中使用$ event时
<textarea enter-submit="test($event)"></textarea>
Run Code Online (Sandbox Code Playgroud)
它说evt is undefined怎么做?