我有这个功能
<?php
for($i = 1; $i <=9; $i++){
print("<div id='cover'>");
for ( $j = 1; $j <= 9; $j++){
if($i % $j == 8 || $i < $j || $i == $j){
print("<div class='colors' onClick='hello($i, $j)'>");
} else {
print("<div class='pinks' onClick='hello($i, $j)'>");
}
print($i ."+". $j ." ");
print("</div>");
}
print("</div>");
}
?>
会产生一堆带数字的div。我希望能够点击它,并显示添加两个数字的结果。 我有这个
的JavaScript函数function hello(r, t)
{
$("div.colors, div.pinks").html(r+t);
}
但我不知道如何只获得我点击的div。我怎样才能做到这一点?
答案 0 :(得分:0)
假设您只想计算用户点击的元素,那么该方法应该更像这样:
function calc(element, r, t)
{
element.innerHTML = r+t
}
虽然方法调用ofc将是:
<div><a href="#" onclick="calc(this,3,2);">3+2</a></div>
例如,请看这个小提琴。
为了允许更复杂的计算而不为每个组合提供方法,您可以使用javascripts能力来评估给定的表达式:
function calc(element)
{
element.innerHTML = eval(element.innerHTML);
}
与
<div><a href="#" onclick="calc(this);">(7+1)/(2+2)</a></div>
看到这个小提琴:http://jsfiddle.net/u20bgx83/