Javascript jQuery:如何跳转到iframe内表中的特定行
我在一个iframe里有一张桌子。我想通过单击iframe外部的元素跳转到该表中的特定行。我尝试使用Javascript jQuery:如何跳转到iframe内表中的特定行,javascript,jquery,Javascript,Jquery,我在一个iframe里有一张桌子。我想通过单击iframe外部的元素跳转到该表中的特定行。我尝试使用散列转到具有指定名称的锚点。它似乎只对元素起作用,而不是我想要的。请查看以下代码: <script type="text/javascript"> $(document).ready(function(){ $("#jump").click(function(){ top.myiframe.location.hash = "3"; //top.m
散列
转到具有指定名称的锚点。它似乎只对
元素起作用,而不是我想要的
。请查看以下代码:
<script type="text/javascript">
$(document).ready(function(){
$("#jump").click(function(){
top.myiframe.location.hash = "3";
//top.myiframe.location.hash = "5"; //this works for <a>
});
});
</script>
<p id="jump">Jump</p>
<iframe id="myiframe" src="[my iframe url]" scrolling="no"></iframe>
你可以想象,我可以跳到
5
,但不能跳到任何
元素。有什么建议吗 不能对tr元素使用哈希。它仅适用于锚定标记。此外,要从iframe中选择任何元素,都必须使用下面的选择器
例如,选择iframe(myiframe)内的tr元素
//用于滚动到iframe中所需元素的代码
$(document).ready(function(){
$("#jump").click(function(){
var iframe = $("#myiframe");
var tr = iframe.contents().find("tr[name=3]");
$(iframe.contentWindow || iframe.contentDocument).scrollTop(tr.offset().top);
});
});
不能对tr元素使用哈希。它仅适用于锚定标记。此外,要从iframe中选择任何元素,都必须使用下面的选择器 例如,选择iframe(myiframe)内的tr元素 //用于滚动到iframe中所需元素的代码
$(document).ready(function(){
$("#jump").click(function(){
var iframe = $("#myiframe");
var tr = iframe.contents().find("tr[name=3]");
$(iframe.contentWindow || iframe.contentDocument).scrollTop(tr.offset().top);
});
});
使用
更新:首先让上面的脚本找到一个行对象
没有jQuery,它就可以正常工作
document.getElementsByName(“行3”)[0].scrollIntoView()
使用
更新:首先让上面的脚本找到一个行对象
没有jQuery,它就可以正常工作
document.getElementsByName(“行3”)[0].scrollIntoView()
尝试为
元素使用id
属性,而不是name
属性
<table>
<tr id="1"><td>1</td></tr>
<tr id="2"><td>2</td></tr>
<tr id="3"><td>3</td></tr>
<tr id="4"><td>4</td></tr>
</table>
<a id="5">5</a>
1.
2.
3.
4.
尝试为
元素使用id
属性,而不是name
属性
<table>
<tr id="1"><td>1</td></tr>
<tr id="2"><td>2</td></tr>
<tr id="3"><td>3</td></tr>
<tr id="4"><td>4</td></tr>
</table>
<a id="5">5</a>
1.
2.
3.
4.
那么如何跳转到特定的
?跳转到是什么意思?你的意思是你必须滚动到那个tr?是的,但是要滚动到那个
我不知道我要滚动到的具体像素数。@shankarsangli“你不能对tr元素使用哈希,它只对锚定标记有效”是什么意思?你是说:@Shaz-OP在tr中有name属性,而不是id。你能让它在你的小提琴中与name一起工作,并让它使用location.hash运行吗?那么如何跳转到特定的
?跳转到是什么意思?你的意思是你必须滚动到那个tr?是的,但是要滚动到那个
我不知道我要滚动到的具体像素数。@shankarsangli“你不能对tr元素使用哈希,它只对锚定标记有效”是什么意思?你是说:@Shaz-OP在tr中有name属性,而不是id。你能让它在你的小提琴中与name一起工作,并让它使用location.hash运行吗?@mplungjan这需要额外的插件下载吗?@Shankar-你做到了,你没看到评论吗?@Protocole-内置function@mplungjan这需要额外的插件下载吗?@Shankar-是的,你没有看到评论吗?@Protocole-内置函数
<table>
<tr id="1"><td>1</td></tr>
<tr id="2"><td>2</td></tr>
<tr id="3"><td>3</td></tr>
<tr id="4"><td>4</td></tr>
</table>
<a id="5">5</a>