
jqLite in angularjs
angularelement("#element-id")
这是一个DOM *** 作。Angular不会帮助你获得DOM的某个属性。
你需要使用的是DOM选择器,不管是原生的也好或者像jQuery这样的库也好。
获取ID的目标地是为了 *** 作DOM, Angular的设计思想不是这样的, 你应该用directive代替
directive的link函数已经把作用域,元素,属性数组注入到link函数调用的参数当中了
link(scope,element,attrs)
关于directive的详细解释,请参考: 创建自定义"指令"
没有按照JS语言规范来写当然会报错。
documentgetElementById("") 里边就不要用 +拼接符了,而且后边不是document,而是直接一个点就可以了。
for 循环也有问题。
不要用O=0;这样难以区分,养成好的习惯
var sstab = documentgetElementById('yearr')getElementsByClassName("stab");
for(var i=0;i<sstablength;i++) {
var rowss = sstab[i]rows; //rows 十个什么鬼
for (var k = 0; k < rowsslength; k++){
// for 循环是标准的 for(){} 括号加大括号 你这又少个大括号是什么意思。
}
{
看来你基础还很薄弱,继续加油吧,帮你看 也是在提升自己。
还有养成
consolelog() ,还有 alealert () 检查代码的习惯,因为你写了一大串然后看报错了找死你,都不知道哪里错了,浪费时间
关键代码如下
1
documentgetElementById("test")className
实例演示:
1、HTML结构
1
2
<div id = "test" class="test_class">我的类名为test_class</div>
<input type='button' value='获取div类名' onclick="fun()"/>
2、javascript代码
1
2
3
4
function fun(){
name = documentgetElementById("test")className;
alert(name);
}
yugi111给出了比较正统的代码,可以有很多语法错误。
JQuery 实现很简单。
不知道你为什么要这样做,如果仅是输出时间,直接把documentwrite now要比documentgetElementById("nowid")innerHTML = now 快 。
或者 documentgetElementById("aa")getElementsByTagName("span")[0]innerHTML = now;
IE低版本不支持,我的是兼容你的代码,给document增加上getElementsByClassName
<script type="text/javascript">//这段代码,在支持documentgetElementsByClassName的浏览器中不会执行
if( typeof(documentgetElementsByClassName) != "function" ){
window_ClassCache=[];
windowonload = function(){
for( var i = 0 ; i < ( d=documentgetElementsByTagName("span"))length ; i++ ){
if(d[i]className != ""){
window_ClassCachepush(
{
name : d[i]className,
obj : d[i]
}
);
}
};
}
documentgetElementsByClassName = function(cls){
var rst = [];
for(var i=0;i<window_ClassCachelength;i++){
if(cls == window_ClassCache[i]name){
rstpush(window_ClassCache[i]obj);
}
}
return rst;
}
}
</script>
<script language="javascript" type="text/javascript">
function nowTime(){
var date = new Date(); //日期对象
var now = "";
var nowDay=dategetDay()
now = dategetFullYear() + "-";
now = now + (dategetMonth()+1) + "-";
now = now + dategetDate() + " ";
for( var i = 0 ; i < ( o = documentgetElementsByClassName("nowclass"))length ; i++ ){
o[i]innerHTML = now;
}
setTimeout("nowTime()",1000);
}
</script>
<div id="aa">
<ul>
<li><a href="#">11111</a><span class="nowclass"></span></li>
<li><a href="#">1111</a><span class="nowclass"></span></li>
<li><a href="#">11111</a><span class="nowclass"></span></li>
</div>
<script>nowTime();</script>
一。 js中对class并没有像对id有 getElementById("id")相对 *** 作的getElementByClassname("name")。你可以自行定义,但一般情况可通过 objsetAttribute("className")和objgetAttribute("classname")对class进行基本 *** 作。 二。
{ ok=objgetAttribute("className")';}//for IEelse{ ok=objgetAttribute("class");}//for FFobjclassName=ok; }这里要取得class的值时,IE使用的是 objgetAttribute("className")而FF要用objgetAttribute("class")。
非IE6,7,8可以直接用自带的属性 getElementsByClassName,如果需要考虑兼容,就需要自己写了。下面是自己写的:
function getClassName(obj,sName) //-->obj是要获取元素的父级
{ //-->sName是class名字
if(documentgetElementsByClassName)
{
return objgetElementsByClassName('sName');
}
else
{
var aTmp = objgetElementsByTagName('');
var aRes=[];
var arr =[];
for(var i=0;i<aTmplength;i++)
{
arr = aTmp[i]classNamesplit(' ');
for (var j=0;j<arrlength;j++)
{
if(arr[j] == sName)
{
aRespush(aTmp[i]);
}
}
}
return aRes;
}
}
大概思路,是将你要获取class元素父级下的所有元素都取出来,再循环查找className,满足的元素存到数组中,然后返回。
获取元素集合的方法有很多,接下来为大家介绍喜爱使用js通过元素class名字获取元素集合的方法
代码如下:
function
getElementsByClassName(n)
{
var
classElements
=
[],allElements
=
documentgetElementsByTagName('');
for
(var
i=0;
i<
allElementslength;
i++
)
{
if
(allElements[i]className
==
n
)
{
classElements[classElementslength]
=
allElements[i];
}
}
return
classElements;
}
以上就是关于angularjs中怎么获取自定标签里面class里面的css属性全部的内容,包括:angularjs中怎么获取自定标签里面class里面的css属性、想要通过js获取ID父元素下class的值,该怎么写,、怎样用JS获取CSS中class中的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)