我必须使用jquery将内容管理系统中用户输入的无序列表转换为引导菜单(导航栏).
80%除了一个挑战,我无法找到一个很好的解决方案 - 即一个使用选择器而不是字符串操作或正则表达式.毕竟,我们都知道我们永远不会用正则表达式解析html :)
因此,使用用户可以使用的有限UI工具,它们会生成一个列表,通常是两级嵌套列表,如下所示
<ul>
<li>Blah1
<ul>
<li><a href='http://xxxx'>Blah1a</a></li>
<li><a href='http://yyyy'>Blah1b</a></li>
<li>Blah1c</li>
<li><a href='http://zzzz'>Blah1d</a></li>
</ul>
</li>
<li><a href='http://aaaa'>Blah2</a></li>
<li>Blah3
<ul>
<li><a href='http://xxxx'>Blah2a</a></li>
<li><a href='http://yyyy'>Blah2b</a></li>
</ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
等等...重要的是,他们的一些列表项是链接,有些只是文本.
我需要选择<li>中包含的每个文本块,这些文本块尚未包含在<a>中并将其包装在<a href="#">中,以便将上述内容转换为:
<ul>
<li><a href='#'>Blah1</a>
<ul>
<li><a href='http://xxxx'>Blah1a</a></li>
<li><a href='http://yyyy'>Blah1b</a></li>
<li><a href='#'>Blah1c</a></li>
<li><a href='http://zzzz'>Blah1d</a></li>
</ul>
</li>
<li><a href='http://aaaa'>Blah2</a></li>
<li><a href='#'>Blah3</a>
<ul>
<li><a href='http://xxxx'>Blah2a</a></li>
<li><a href='http://yyyy'>Blah2b</a></li>
</ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
应该不是那么难,我敢肯定,但经过一个小时的演奏,我无处可去.
我想上传画布图片formdata/multipart.我有一个使用toDataURL()生成图像数据的画布.我想像formdata/multipartAjax帖子一样上传图像数据.
这是代码....
var dataUrl = canvas.toDataURL('image/png');
var multipart = new FormData();
multipart.append('user_id', userID);
multipart.append('password', pwd);
multipart.append('inputdata',image data here);
$.ajax({
type : 'POST',
// dataType: 'json',
url : serviceURL,
data : multipart,
cache : false,
processData : false,
contentType : false,
success : function(data) {
},
error : function(xhr, status, error) {
}
});
Run Code Online (Sandbox Code Playgroud)
我知道无法将图像数据uri附加到FormData中.那我该如何追加呢?
谢谢
几个月以来,我一直在开发一个Android应用程序,使用PhoneGap 2.8和我在javascript方面使用Backbone并jQuery作为我的主要框架.随着我的应用程序增长到合理的大小,我开始注意到相当大的内存消耗.阅读了不同的文章,解释为什么PhoneGap需要大量的内存甚至运行,我仍然相信我可以做一些优化我如何使用内存.
在BackBone我们有一个Router对象,它将URI-s映射到特定的函数,这使我得到了一个名为a的东西,View的对象.我不仅实现了我的路由器功能来创建视图并渲染它,而且还存储了对当前正在显示的视图的全局引用.因此,在创建新视图之前,我会告诉旧视图进行一些清理(由于视图可以包含更多"子"视图,所以这是递归完成的).在清理过程中,我现在告诉他们去取消他的事件(我相信Backbone删除事件侦听器).目前没有做更多的事情.呈现新视图后,全局变量将引用新视图.我相信javascript GC会释放旧视图使用的内存.唉,我不会发生这种情况 - 我越是浏览我的应用程序,内存就越耗尽.我知道有一些内存泄漏,但我无法弄清楚它是什么,需要内存.我怀疑的一件事是旧的物体由于某种原因没有被正确地收集垃圾.我怀疑,一旦我在某个容器上渲染新的html(DOM),也许旧DOM的导致内存泄漏,也许某些事件处理程序被不必要地存储在某个地方.
我想知道的是,是否有任何工具或命令或提示如何调试/跟踪/测量分配内存的位置.有没有办法访问所有事件侦听器并以某种方式测量它们(DOM相同).任何有关智能记忆效率技术的文章也将受到赞赏.目前我唯一可以做的事情就是开始递归地删除对象的所有属性(在最终对象中)我愿意销毁.
任何建议都非常欢迎!先感谢您.
javascript memory-leaks memory-management backbone.js cordova
如何从Kendo网格过滤器菜单中删除操作员下拉列表?我在下面有一个下拉列表,其中包含供用户选择的值,因此在上面有一个表示相等的框是没有意义的.
我写的时候
var c = { get a(){} };
Run Code Online (Sandbox Code Playgroud)
结果是c对象具有"get a"和"set a"属性.
为什么?
在Chrome和Firefox中测试过.
我被分配了一个任务来制作一个脚本,当鼠标指针悬停在当前打开的浏览器选项卡上时,该脚本将生成一个弹出窗口。
演示内容类似:http : //demo.exitmonitor.com/,但是当鼠标离开网页顶部时,弹出窗口始终出现。
当鼠标悬停在我当前的活动浏览器选项卡上时,我需要准确地生成此窗口。
是否可以使用javascript执行此操作?
你好,我创建了 JQuery DataTables,如下所示:

所以我的问题是如何删除“图片”列中过多的填充?
这就是我初始化表的方式:
$('#violators_tbl').DataTable({
"aoColumnDefs": [
{ "bSortable": false, "aTargets": [ 2,3 ] },
{ "sWidth": "20%", "aTargets": [ 0 ] },
{ "sWidth": "35%", "aTargets": [ 1 ] },
{ "sWidth": "30%", "aTargets": [ 2 ] },
{ "sWidth": "15%", "aTargets": [ 3 ] },
],
});
Run Code Online (Sandbox Code Playgroud)
这是我向表中添加行的方法:
function update_table(violator){
var img_str1 = '<img class=\"obj-pic\" src=\"' + Main.Vars.base_path + violator.front_temp_file_path + '\">';
var img_str2 = '<img style=\"margin-left: 10px;\" class=\"obj-pic\" src=\"' + Main.Vars.base_path + violator.rear_temp_file_path + '\">';
var …Run Code Online (Sandbox Code Playgroud) gridcell = (Button) row.findViewById(R.id.calendar_day_gridcell);
gridcell.setText("Day 1");
URL url = new URL("http://172.16.4.29:81/pht/2013/9/18/3027_2013_9_18_12_14_56_b.JPG");
Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
Run Code Online (Sandbox Code Playgroud)
如何将bitmapbmp图像设置为按钮gridcells背景图像?
当bar还没有达到100%时,我想保持边缘没有圆角效果..我所做的是使用if然后改变bar的css,但它落后了一步..看看
即使达到了 100% 你也需要再次击中
$('#test').on('click', function (e) {
$progress_bar = $('#progressbarr');
//convert to percent
var progressbar_width;
progressbar_width = Math.floor(100 * ($progress_bar.find('div').width()) / $progress_bar.width());
var i = progressbar_width + 10; // change in percent
if (i < 101) {
$progress_bar.find('div').css('width', (i + '%'));
$progress_bar.find('span').text(i + '%');
} else {
$progress_bar.find('div').css('border-top-right-radius', '4px');
$progress_bar.find('div').css('border-bottom-right-radius', '4px');
}
});
Run Code Online (Sandbox Code Playgroud) 我的表单有一个 jQuery 验证例程,我设法用红色突出显示每个控件边框 - 这很容易。
我想显示为每个错误返回的消息以黑色显示,我想将其更改为红色 - 不幸的是,我无法找到有关如何实现此目标的任何有用信息。
<script type="text/javascript">
$("form").validate({
errorClass: 'errors',
rules: {
txtWDUCI: {
required: true,
minlength: 13,
},
txtWDCAND: {
required: true,
minlength: 4
},
txtWDCENT: {
required: true,
minlength: 5
},
mskWDQAN: {
required: true,
minlength: 8
},
mskWDLEAP: {
required: true,
minlength: 4
},
drpWDSES: {
required: true
},
drpWDSYY: {
required: true
},
drpWDEXAM: {
required: true
},
drpWDBRD: {
required: true
},
mskSubj: {
required: true,
minlength: 4
},
mskWDOPT: {
required: …Run Code Online (Sandbox Code Playgroud) jquery ×7
javascript ×5
css ×2
android ×1
backbone.js ×1
bmp ×1
cell ×1
cordova ×1
datatables ×1
grid ×1
html ×1
html5 ×1
kendo-grid ×1
kendo-ui ×1
kineticjs ×1
memory-leaks ×1