![](/img/trans.png)
[英]How to pass dynamically generated div's id to javascript in Rails
[英]How to pass html div id's dynamically to js function
我想将div id从html动态传递到js脚本,因为需要将div id r1,r2,r3传递给jS中的getElementById()
,因此当用户将鼠标悬停在任何div上时,它将自动旋转。
这是我的第一个问题,如果有任何建议的更正值得欢迎!
<tbody>
<tr>
<td id="r1"> Roboust</td>
<td id="r2">Dynamic</td>
<td id="r3">Adhere</td>
</tr>
<tr>
<td id="r4">Popular</td>
<td id="r5">Trending</td>
<td id="r6">Favourite</td>
</tr>
<tr>
<td id="r7">Famous</td>
<td id="r8">Blockbouster</td>
<td id="r9">Navie</td>
</tr>
</tbody>
</table>
<h1>CLICK ON BUTTONS TO ROTATE THE BUTTON AS YOU WANT THEM</h1>
<button onclick="rotate() ">Flip Row1</button>
<script>
var rotate = function() {
document.getElementById('r1').style="transform:rotateX(180deg);transition: 0.6s;transform-style:preserve-3d";
}
</script>
</body>
编辑我的答案
<html> <body> <table> <tbody> <tr> <td id="r1" onmouseover="rotate(this)"> Roboust</td> <td id="r2" onmouseover="rotate(this)">Dynamic</td> <td id="r3" onmouseover="rotate(this)">Adhere</td> </tr> <tr> <td id="r4" onmouseover="rotate(this)">Popular</td> <td id="r5" onmouseover="rotate(this)">Trending</td> <td id="r6" onmouseover="rotate(this)">Favourite</td> </tr> <tr> <td id="r7" onmouseover="rotate(this)">Famous</td> <td id="r8" onmouseover="rotate(this)">Blockbouster</td> <td id="r9" onmouseover="rotate(this)">Navie</td> </tr> </tbody> </table> <script> var rotate = function(x) { if(x.className == "rotated"){ x.style="transform:rotateX(0deg);transition: 0.6s;transform-style:preserve-3d"; x.className = ""; } else{ x.style="transform:rotateX(180deg);transition: 0.6s;transform-style:preserve-3d"; x.className = "rotated"; } } </script> </body> </html>
你有几个错误尝试这样
<table>
<tr>
<td id="r1" onmouseover="rota(r1)"> Roboust</td>
<td id="r2" onmouseover="rota(r2)">Dynamic</td>
<td id="r3" onmouseover="rota(r3)">Adhere</td>
</tr>
</table>
<script>
function rota(i) {
var x = document.getElementById(i);
x.style.transform="rotateX(180deg)";
x.style.transition='0.6s';
}
</script>
</body>
您也可以尝试这种方式-
<table id="myTable">
<tbody>
<tr>
<td id="r1"> Roboust</td>
<td id="r2">Dynamic</td>
<td id="r3">Adhere</td>
</tr>
<tr>
<td id="r4">Popular</td>
<td id="r5">Trending</td>
<td id="r6">Favourite</td>
</tr>
<tr>
<td id="r7">Famous</td>
<td id="r8">Blockbouster</td>
<td id="r9">Navie</td>
</tr>
</tbody>
</table>
<script>
document.getElementById('myTable').onmouseover = function(event) {
if (event.target.tagName.toUpperCase() == "TD") {
event.target.style = "transform:rotateX(180deg);transition: 0.6s;transform-style:preserve-3d";
}
}
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.