var obj = documentgetElementsByTagName("span");//先得到所有的SPAN标记
for(var i=0;i<objlength;i++)
{
if(obj[i]className == 'a')//找出span标记中class=a的那个标记
{
var getObj = obj[i];
value = getObjinnerHTML;//获得他的innerHTML
}
}//有效且管用,但是很笨的方法,目前我没发现还有其他方法。
var a={a:123,b:"string"}
var b = "{a:123,b:'string'}";
consolelog(a);
consolelog(b);
alert(a);
alert(b);
//我猜的情况: 接口返回给你前端的数据是字符串,而不是object。
//1 试着将字符串转成object,推荐转成json 对象。
//2 和后端协商>
网页链接
原文链接: 动态获取js对象的元素
在开发后台 *** 作系统的时候,遇到表单清空,我用vant插件开发,该组件没有清空函数,需要自己写。嘶~,麻烦了,每个页面都有需要清空,而字段又不一样,每个页面写一个清空函数那不得累死。有没有好办法呢?有!
好了,知道[]的符号能获取对象元素值和循环获取对象,那写一个公共函数不就简单了?
尊敬的用户,您好!很高兴为您答疑。
1、您事件绑定的代码没有问题,火狐完全可以支持onclick事件,问题出在您绑定的事件的函数内;
2、这类对象存在跨浏览器兼容的问题,建议您沿着这个思路进行问题分析。
据您的问题来看,您应该是js的初学者,如果您在学习firefox下的js编程,您首先要学会如何使用火狐的开发者调试功能,您所遇到的问题都是可以通过分析控制台的输出进行分析定位和解决的。
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
/
@see 鼠标点击拖拽的效果(页面可以同时拖动多个框)
@param boxId 整个对象(框)的id(一般为div或table)
@param event 内置对象(必须传入)
/
function mousePlead1(event, boxId) {
var o = getO(boxId);
var isIE = documentall true : false;
var e = event;
var x = eoffsetX || elayerX;
var y = eoffsetY || elayerY;
documentonmousemove = function(e) {
ostylefilter = 'Alpha(opacity=70)';
ostyleopacity = '07';
if (isIE) {
osetCapture();
} else {
windowcaptureEvents(EventMOUSEMOVE);
}
var e = windowevent || e;
if (eclientX - x >= 0 && eclientY - y >= 0 && eclientX - x <= getWinSize()[0] - getO(boxId)offsetWidth
&& eclientY - y <= getWinSize()[1] - getO(boxId)offsetHeight) {
ostyleleft = (eclientX - x) + "px";
ostyletop = (eclientY - y) + "px";
}
};
documentonmouseup = function(e) {
documentonmousemove = function() {
};
if (isIE) {
oreleaseCapture();
} else {
windowreleaseEvents(oMOUSEMOVE);
}
ostylefilter = "";
ostyleopacity = "";
};
}
/
@see 获得对象
@param id 对象的id(表单元素和其他标签都可以)
@return Object
/
function getO(id) {
return documentgetElementById(id);
}
/
@see 获得当前窗体的大小(width,height)
@return Array
/
function getWinSize() {
var width = parseInt(documentdocumentElementclientWidth);
var height = parseInt(documentdocumentElementclientHeight);
return new Array(width, height);
}
返回的是个json,
给你个思路,自己解决下,做不了在追们问:
1、需要用eval函数将返回的串转化成可用的strig串,eval(data),但是因为原串里面是以{}开始和结束的,会被认为是可执行方法,因此需要加上()包围起来,var jsonobj=eval("("+data+")"),然后再alert("ID:" + jsonobjid + "\nName:" + jsonobjtime);就能正常显示了
2、获取的时候就直接表示返回的是json格式,用$getJSON代替$get,其他代码不变,也能正常获取。
后台返回的是json字符串,在js里还需要转成json对象才能用
//json字符串
var strJson = '<%=uslist %>';
//转json对象,用eval,当然也可以用json包里的方法或者类库提供的方法(比如jquery)
var objJson = eval('(' + strJson + ')');
public static void main(String[] args)throws Exception {
SecureRandom secureRandom1 = SecureRandomgetInstance("SHA1PRNG");
SecureRandom secureRandom2 = SecureRandomgetInstance("SHA1PRNG");
Systemoutprintln(secureRandom2equals(secureRandom1));
byte[] seed={12,11,123};
secureRandom1setSeed(seed);
secureRandom2setSeed(seed);
Systemoutprintln(secureRandom1nextInt());
Systemoutprintln(secureRandom2nextInt());
}
每次都新生成一个SecureRandom 对象,而SecureRandom 没有覆盖equals方法
所以它用超类Ojbect的equals方法
public boolean equals(Object obj) {
return (this == obj);
}
所以 Systemoutprintln(secureRandom2equals(secureRandom1));
的结果是false
但是两个对象的内部结构是一样的,所以它们设置相同的seed,执行相同方法的结果是一样的。可以查看jdk源码
以上就是关于js 如何根据class获取对象全部的内容,包括:js 如何根据class获取对象、js获取传来的对象中的值、动态获取js对象的元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)