Jquery replaceWith:根据屏幕分辨率将一个php文件替换为另一个php文件

时间:2013-02-25 21:14:16

标签: php jquery replace

我需要能够根据屏幕分辨率将php文件替换为另一个php文件。这就是我到目前为止所做的:

<script type="text/javascript">
function adjustStyle(width) {
width = parseInt(width);
if (width = 1920) {
$('book.php').replaceWith('book2.php');
}
}
$(function() {
adjustStyle($(this).width());
$(window).resize(function() {
adjustStyle($(this).width());
});
});
</script>

显然不起作用 - 任何想法?提前感谢您收到任何帮助。

更新

这是否完全接近(替换book.php行)?

 { $("a[href*='book.php']").replaceWith('href', 'book2.php'); }; 

第二次更新以反映此处收集的输入

function adjustStyle(width) {
width = parseInt(width);
if (width == 1920) {
$('#bookinfo').replaceWith(['book2.php']);
$.ajax({
 url: "book2.php",
 }).success(function ( data ) {
  $('#bookinfo').replaceWith(data);
});
$(function() {
adjustStyle($(this).width());
$(window).resize(function() {
adjustStyle($(this).width());
});
});
}
}

2 个答案:

答案 0 :(得分:1)

我没有看到在你放入的上下文中使用replaceWith。解释你想要交换内容,你可能想要使用jQuery的load()函数。

    if(width == 1920){
            $("#myDiv").load("book1.php");
    } else {
            $("#myDiv").load("book2.php");
    }

单击该按钮会将div的内容替换为book2.php。

答案 1 :(得分:0)

首先关闭...使用带有单个=(等号)的条件将导致条件始终为真,同时将检查的变量值设置为您检查的值。

您的情况应如下所示......

  

if(width == 1920){// do something}

其次,请参阅jQuery文档,了解如何使用replaceWith()替换整个标记与jquery对象... http://api.jquery.com/replaceWith/

我会使用http://api.jquery.com/jQuery.post/的速记POST,因为你还没有加载对象......

简而言之,我的代码看起来像使用$ .post而不是$ .ajax,假设我有一个标签,其id为“book”,最初的内容是book.php,我想用book2.php的内容......

HTML

<div id="book">*Contents of book.php*</div>

的jQuery

function onResize(width) {
    if (parseInt(width) >= 1920) {
        $.post('book2.php',function(html){
           $('#book').html(html).width(width);
        });        
    }
    else {
        $.post('book.php',function(html){
            $('#book').html(html).width(width);
        });
    }
}

希望这有帮助。