我正在使用HTML和jQuery Mobile(JQM)开发一个webapp,所以我对此很新.我在这里要做的是用名单列表填充JQM列表视图.这些名称中的每一个都将链接到显示个人数据的新页面(全名,地址,出生日期等).
目前,由于我缺乏知识,我为每个人手动创建一个新的.html文件(例如johnDoe.html为一个虚构的角色John Doe先生).然后我通过函数将列表元素物理链接到这个html文件.
问题是现在我有100个人填充该列表视图.我认为有一种更简单的方法可以做到这一点,而不是手动为所有这些人创建100多个html文件吗?
我听说过这个JSON的东西可能有用,但是从零计算知识的背景来看,我真的不明白它是如何工作的.有人请说明我该怎么办?
非常感谢!
编辑:我正在使用Dreamweaver CS5.5进行编码.对于我负责开发的这个webapp,我得到了一个使用JQM和Backbone.js的"模板"或排序.因此,单个HTML文件的"多页"结构似乎不起作用.从我在模板中看到的,每个HTML文件都有一个相应的JS文件,其代码如下所示:
define(['jquery',
'underscore',
'backbone',
'helper',
'views/phr/list',
'text!templates/vpr2.html'
],
function ($,
_,
Backbone,
Helper,
phrListView,
tmpVpr2) {
var view = Backbone.View.extend({
transition: 'fade',
reverse: true,
initialize: function () {
this.phrlistview = new phrListView();
},
render: function () {
$(this.el).append(_.template(tmpVpr2, {}));
console.log("Rendering subelements...");
Helper.assign(this, {
'#phrListView': this.phrlistview
});
return this.el;
}
});
return view;
});
Run Code Online (Sandbox Code Playgroud)
对于HTML页面,它们都以<div data-role=header>标签开头,然后以a开头,之后<div data-role=content>以a <div data-role=footer>开头,在开始和结束标签中都有各自的内容.
对于我的列表视图,listview的JQM代码将在<div data-role=content>HTML文件的一部分内.如何用JSON数据填充此列表视图呢?
(抱歉,如果我在这听起来非常棒,因为我真的很>.<非常感谢帮助!)
我目前正在开发基于jQuery Mobile 的Web应用程序.我想首次添加一个对话框,提供一个按钮,然后可以点击该按钮将书签保存到网站.此解决方案适用于iOS和Android.有没有办法做到这一点?我看到bubble.js适用于iOS,但我需要一个适用于上述平台的通用解决方案.可能吗?
互联网上有一些关于此的文献吗?
我试图选择:nth-child使用jquery,但它显示语法错误.
Error: Syntax error, unrecognized expression: :nth-child
Run Code Online (Sandbox Code Playgroud)
这是我的代码
var i;
jQuery('#' + id + ' .tab-pane').each(function (id, t) {
var n = jQuery(this).attr('id', 'pane-' + t);
var p_id = n.attr('id');
jQuery('#' + id + ' .nav-tabs li:nth-child(' + i + ') a').attr('href', p_id);
i++;
});
Run Code Online (Sandbox Code Playgroud)
请检查我的代码这里缺少什么
我最近开始使用Cordova构建iOS应用程序,但我遇到了障碍.在安装了nodeJS,git和cordova(使用sudo)之后,我在我的用户帐户的Documents文件夹中创建了我的第一个应用程序.
第一轮比赛完美无缺.一切正常,将我的开发帐户添加到Xcode帮助我的应用程序在设备上运行.我决定通过添加一个名为001_c.jsin 的"before_prepare"钩子来增加一些东西<appName>/hooks/before_prepare folder.这是钩子开始的方式:
//This is where nodeJS exists
#!/usr/local/bin node
console.log("Changing config");
var fs = require('fs');
var path = require('path');
var rootdir = process.argv[2];
//and so on
Run Code Online (Sandbox Code Playgroud)
当我现在构建应用程序时,我收到此错误:
pc295786:master kellster $ cordova build ios运行命令:/Users/kellster/documents/apps/master/hooks/before_prepare/001_c.js/Users/kellster/documents/apps/master错误: 在exports._errnoException(util.)生成EACCES. js:746:11)在Object.exports.spawn的Object.exports.spawn(child_process.js:988:9)的ChildProcess.spawn(child_process.js:1155:11)处(/ usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:104:31)at runScriptViaChildProcessSpawn(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/hooks/HooksRunner.js:188: 23)在/ usr/local/lib/node_modules/cordova/node_modules/cordova-的runScript(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/hooks/HooksRunner.js:131:16) lib/src/hooks/HooksRunner.js:114:20在_fulfilled(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:787:54)的self.promiseDispatch.done(/ usr/local) /lib/node_modules/cordova/node_modules/q/q.js:816:30)在Promise.promise.promiseDispatch(/ usr/local)/lib/node_modules/cordova/node_modules/q/q.js:749:13)
要进行故障排除,我更改了钩子脚本的第一行
#!/usr/local/bin node
Run Code Online (Sandbox Code Playgroud)
至
#! node
Run Code Online (Sandbox Code Playgroud)
(因为这适用于Windows.node在全球范围内).但是,这导致了一个ENOENT错误:
pc295786:master kellster $ cordova build ios运行命令:/Users/kellster/documents/apps/master/hooks/before_prepare/001_c.js/Users/kellster/documents/apps/master错误:Hook失败,错误代码为ENOENT:/ Users /krster/documents/apps/master/hooks/before_prepare/001_c.js atus //rocal/lode/node_modules/cordova/node_modules/cordova-lib/src/hooks/HooksRunner.js:194:23在/rer /local/lib/node_modules/cordova/node_modules/q/q.js:797:24)在Promise.when的/usr/local/lib/node_modules/cordova/node_modules/q/q.js:823:30(/ usr/local/lib/node_modules/cordova/node_modules/q/q.js:1035:31)在Promise.promise.promiseDispatch(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:741: 41)在/usr/local/lib/node_modules/cordova/node_modules/q/q.js:557:44在flush(/usr/local/lib/node_modules/cordova/node_modules/q/q.js:108:17 )在启动时在Function.Module.runMain(module.js:503:11)的process._tickCallback(node.js:355:11)处(node.js:129:16)
如何构建这个?我很感激我能尝试的任何建议.
有些事情需要注意:
我有一个奇怪的错误.当我尝试运行我的代码时:
var firstJson;
$.getJSON(site_url+"/more/sector_by_city/"+id+"?"+Math.random(), function( json ) {
$.each(json, function(key, value) {
firstJson = 9;
});
});
alert(firstJson);
Run Code Online (Sandbox Code Playgroud)
我收到的提醒是:"undefined".
为什么我得到这个而不是得到9?
我在这里错过了什么?
(每个循环运行没有问题,并且JSON中有值)最后,9更改为其他一些值.
谢谢
$(this)与缓存选择器相同吗?$(this)每次都会搜索DOM吗?
例如:
$('#selector').on('click', function() {
$(this).method();
$(this).method1();
$(this).method2();
//OR
var selector = $('#selector');
selector.method();
selector.method1();
selector.method2();
}
Run Code Online (Sandbox Code Playgroud) 我的页面上有一个按钮
<button id="show1" class="morelinkblack">Find Out More</button>
Run Code Online (Sandbox Code Playgroud)
单击时,它将运行此代码
$("#show1").click(function(){
$(".hidden-div1").slideToggle("slow");
});
Run Code Online (Sandbox Code Playgroud)
有没有办法在div显示时更改文本以说"关闭"而不是"找出更多"?