0

在下面的代码中,我试图从 javascript 打印元素并将其插入到 android 模拟器。我再也看不到文本 hello world 了。我在这里做错了什么。

<html>
<head>
<title>Cordova</title>
<script type="text/javascript" charset="utf-8" src="cordova-1.9.0.js"></script>
<link rel="stylesheet" type="text/css" href="css/jquery.mobile-1.3.1.min.css" />
<link rel="stylesheet" type="text/css" href="css/fonts/font.css" />
<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="js/jquery.mobile-1.3.1.min.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<link rel="stylesheet" type="text/css" href="css/style.css" />


    <script>
    goLogin();
    </script>
</head>

<body>

<div id="medn_content" class="medn_content" data-role="page" >      
    </div>
</body>
</html>

index.js

function goLogin(htm)
{
alert('here');
$("#medn_content").appendTo("<p> hello world again</p>");
}
4

2 回答 2

1

工作示例:http: //jsfiddle.net/Gajotres/rrSdV/

您的代码中有错误,这是:

function goLogin(htm)
{
    alert('here');
    $("#medn_content").appendTo("<p> hello world again</p>");
}

应该是这样的:

function goLogin(htm)
{
    alert('here');
    $("#medn_content").append("<p> hello world again</p>");
}

基本上将appendTo更改为append。这些功能的工作方式有很大的不同。

此外,如果您使用的是 jQuery Mobile,您需要在页面加载到 DOM 后添加新内容。为此,您需要使用正确的 jQuery Mobile 页面事件。您的代码应如下所示:

<script>
    $(document).on('pagebeforeshow', '#medn_content', function(){ 
        goLogin();
    });
</script>

如果您想了解更多关于 jQuery Mobile 页面事件以及它们如何工作的信息,请查看这篇文章或在此处找到它。

最后,您的代码应如下所示:

HTML:

<html>
<head>
<title>Cordova</title>
<script type="text/javascript" charset="utf-8" src="cordova-1.9.0.js"></script>
<link rel="stylesheet" type="text/css" href="css/jquery.mobile-1.3.1.min.css" />
<link rel="stylesheet" type="text/css" href="css/fonts/font.css" />
<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="js/jquery.mobile-1.3.1.min.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<link rel="stylesheet" type="text/css" href="css/style.css" />
<script>
    $(document).on('pagebeforeshow', '#medn_content', function(){ 
        goLogin();
    });
</script>
</head>
<body>
    <div id="medn_content" class="medn_content" data-role="page" >      
    </div>
</body>
</html>

Javascript:

function goLogin(htm)
{
    alert('here');
    $("#medn_content").append("<p> hello world again</p>");
}
于 2013-07-01T11:09:28.597 回答
0

请改用此script标签:

<script>
$( function() {
    document.addEventListener("deviceready", goLogin, false);
});

 function goLogin(htm)
 {
   alert('here');
   $("#medn_content").appendTo("<p> hello world again</p>");
 }
 </script>
于 2013-07-01T11:08:25.123 回答