jQuery问题w / attr()更改对象

时间:2012-11-25 22:58:29

标签: jquery object

我正在尝试使用JQuery按钮菜单,这将改变属性数据,因此将自动重载内部对象参数,但它不想工作:(

CSS,HTML和JQuery的代码位于以下链接

http://jsbin.com/iqukak/2/edit

任何人都可以提供帮助吗?

$('button#1').attr("id"){
      $("object#cgi").attr('data','http://www.google.com')};
   $('button#2').attr("id"){
      $("object#cgi").attr('data','http://www.bing.com')};
    $('button#3').attr("id"){
      $("object#cgi").attr('data','http://www.yahoo.com')};
});

更新

我已将所有文件上传到http://szary.eu/panel/
我想要达到的目的是:
- 当我点击1时,我需要<object>内的1.html可见
- 当我点击2时,<object>可见

内需要2.html

2 个答案:

答案 0 :(得分:1)

您可以尝试以下代码:

$(document).ready(function(){
    $('button#1').click(function() {
      $("object#cgi").attr('data','http://www.google.com')});
   $('button#2').click(function() {
      $("object#cgi").attr('data','http://www.bing.com')});
    $('button#3').click(function() {
      $("object#cgi").attr('data','http://www.yahoo.com')});
});

虽然我不相信谷歌会让你这样做(但Bing和雅虎都很好) http://jsbin.com/iqukak/15/edit

请参阅此问题,说明为什么它不适用于Google:how to open google links inside iframe?

答案 1 :(得分:1)

$(function(){

    $('td.mleft button').click(function(){
      $('#cgi').attr( 'data',   'http://'+ $(this).text().toLowerCase() +'.com' );  
    });

});

顺便说一句:谷歌永远不会出现,例如,如果你指向stackoverflow,你将被重新安排。那么请三思而后行: 导致阻止“clickjacking”,他们发送一个名为“X-Frame-Options”的HTTP响应标题,以防止页面被“框架化”

修改 我不鼓励你为此目的使用<object>标签, 改为使用.load()

$('#cgi').load( $(this).text() +'.html');