Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:如何跳转到iframe内表中的特定行_Javascript_Jquery - Fatal编程技术网

Javascript jQuery:如何跳转到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

我在一个iframe里有一张桌子。我想通过单击iframe外部的元素跳转到该表中的特定行。我尝试使用
散列
转到具有指定名称的锚点。它似乎只对
元素起作用,而不是我想要的
。请查看以下代码:

<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>