Tag: JavaScript

获取元素的ID

还有另一种获得元素ID的方法吗? obj.getAttribute('id')

jQuery等同于获取Canvas的上下文

我有以下工作代码: ctx = document.getElementById("canvas").getContext('2d'); 有什么办法可以重新编写使用$ ? 这样做失败: ctx = $("#canvas").getContext('2d');

是否有JavaScript的String.indexOf()允许正则expression式的版本?

在JavaScript中,是否有相当于String.indexOf()采取正则expression式,而不是一个string的第一个第一个参数,同时仍然允许第二个参数? 我需要做类似的事情 str.indexOf(/[abc]/ , i); 和 str.lastIndexOf(/[abc]/ , i); 虽然String.search()将一个正则expression式作为参数,但它不允许我指定第二个参数! 编辑: 这原来比我原先想象的更难,所以我写了一个小的testing函数来testing所有提供的解决scheme…它假定regexIndexOf和regexLastIndexOf已被添加到string对象。 function test (str) { var i = str.length +2; while (i–) { if (str.indexOf('a',i) != str.regexIndexOf(/a/,i)) alert (['failed regexIndexOf ' , str,i , str.indexOf('a',i) , str.regexIndexOf(/a/,i)]) ; if (str.lastIndexOf('a',i) != str.regexLastIndexOf(/a/,i) ) alert (['failed regexLastIndexOf ' , str,i,str.lastIndexOf('a',i) , str.regexLastIndexOf(/a/,i)]) ; } } […]

节点对象和元素对象之间的区别?

我完全混淆了Node对象和Element对象。 document.getElementById()返回Element对象,而document.getElementsByClassName()返回NodeList对象(元素或节点的集合?) 如果一个div是一个元素对象那么div节点对象呢? 什么是节点对象? 文档对象,Element对象和Text对象是否也是Node对象? 根据David Flanagan的书“文档对象,其元素对象和文本对象都是节点对象”。 那么为什么一个对象可以inheritanceElement对象的属性/方法以及Node对象呢? 如果是的话,我猜Node类和Element类是在原型inheritance树中相关的。 <div id="test"> <p class="para"> 123 </p> <p class="para"> abc </p> </div> <p id="id_para"> next </p> document.documentElement.toString(); // [object HTMLHtmlElement] var div = document.getElementById("test"); div.toString(); // [object HTMLDivElement] var p1 = document.getElementById("id_para"); p1.toString(); // [object HTMLParagraphElement] var p2 = document.getElementsByClassName("para"); p2.toString(); //[object HTMLCollection]

如何在express节点js中获取url参数

我面临着从我的url获取tagid价值的问题。 本地主机:8888 / P标签识别= 1234 帮助我纠正我的控制器代码。 我无法获得tagid值。 我的代码如下: app.js var express = require('express') , http = require('http') , path = require('path'); var app = express(); var controller = require('./controller')({app: app}); // all environments app.configure(function() { app.set('port', process.env.PORT || 8888); app.use(express.json()); app.use(express.urlencoded()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); app.set('view engine', 'jade'); app.set('views', __dirname + '/views'); app.use(app.router); app.get('/', function( […]

dynamic加载JS里面的JS

我有一个dynamic网页,我需要在另一个JavaScript文件中导入外部JS文件(在IF条件下)。 我试图寻找一个可行的解决scheme,但没有奏效。 我曾尝试使用document.createElement()加载一个JS文件到DOM,但它也没有工作。 显然,Js被加载到DOM中,但在当前JS文件中无法访问。 在jQuery中的解决scheme也没关系

用于JavaScript的stringstrip()?

什么是干净而高效的JavaScript实现来去除string中的前导和尾随空格? 例如: " dog" "dog " " dog " " dog " 都变成了 "dog"

在JavaScript中将NaN转换为0

有没有办法将NaN值转换为0没有if语句: if (isNaN(a)) a = 0; 每次检查我的variables是非常烦人的。

.append(),prepend(),.after()和.before()

我对编码非常精通,但偶尔我偶尔会遇到代码,这些代码看起来基本上是一样的。 我的主要问题是,为什么要使用.append()而不是.after()或者反之呢? 我一直在寻找,似乎无法find两者之间的差异的明确定义,何时使用它们,什么时候不使用。 相对于另一个的好处是什么,以及为什么我会使用一个而不是另一个? 有人可以向我解释这个吗? var txt = $('#' + id + ' span:first').html(); $('#' + id + ' a.append').live('click', function (e) { e.preventDefault(); $('#' + id + ' .innerDiv').append(txt); }); $('#' + id + ' a.prepend').live('click', function (e) { e.preventDefault(); $('#' + id + ' .innerDiv').prepend(txt); }); $('#' + id + ' a.after').live('click', function […]

将HTML5应用程序作为桌面应用程序分发

什么是分发基于HTML5的桌面应用程序的一些解决scheme? 我希望能够将我的HTML5应用程序作为Windows,OSX和Linux上的独立桌面应用程序分发。 我希望人们能够双击我的应用程序图标快捷方式来运行我的程序。 我不希望显示浏览器窗口,只是我的应用程序。 这可能吗?