js 嵌套循环问题 修改样式
    <div><p id="1">aa</p></div>
    <div><p id="2">aa</p></div>
    <div><p id="32">aa</p></div>
    <div><p id="44">aa</p></div>
    <div><p id="8">aa</p></div>
    <div><p id="13">aa</p></div>
    <div><p id="4">aa</p></div>
    <div><p id="11">aa</p></div>

var aa=[{"id":1,"name":"yi"},{"id":4,"name":"si"},{"id":6,"name":"liu"},{"id":8,"name":"ba"},{"id":"a","name":"aaa"}];

我想把id在数组aa中的div加上class="a"
否则加上class="b"

如果我这样写:

    var div = $("div");
    for (var i = 0; i < aa.length; i++) {
        var tId = aa[i].id;
        for (var j = 0; j < div.length; j++) {
            var fId = $(div[j]).find("p").attr("id");
            if (tId == fId) {
                div.addClass("a");
            } else {
                div.addClass("b")
            }
        }
    }

结果每个div都变成了

 <div class="a b">

,我只是想把包含

id="1"和id="4"的div加上class="a",是我的循环出了什么问题么,要怎么修改呢?

3个回答

div是所有的div不是当前的div,所以div加减class都是同步的。
可以转换思路,先统一加上class b,然后匹配的div先删掉class b,再加上class a

 var div = $("div");
 div.addClass("b");
    for (var i = 0; i < aa.length; i++) {
        var tId = aa[i].id;
        for (var j = 0; j < div.length; j++) {
            var fId = $(div[j]).find("p").attr("id");
            if (tId == fId) {
                                $(div[j]).removeClass("b");
                $(div[j]).addClass("a");
            }
        }
    }

div.addClass("a");这是加类,没有把原来的去掉

div.attr("class","a");

先定位到你要操作的div,然后在对class进行操作,而且,添加class时最好运用div.attr("class","a")

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
<Js>修改样式
document.getElementById("ao"+"\n").style.color="green";document.getElementById("ao"+"\n").style.fontsize="50px";document.getElementById("ao"+"\n").style.width="20px";点击修改: <h1 id="ao">什么?</h1> <input t
js修改html的样式
function Click(){ document.getElementById('button2').style.display='block';document.getElementById('button1').style.display='none'; } button1" value="点击" onclick="Click()"> button2" valu
JS修改样式
&amp;lt;style type=&quot;text/css&quot;&amp;gt;   h1 {text-align:center}   p {text-indent:2em; line-height:140%; margin:auto 10px}   span {margin:3px}   table {margin:auto; border-style:solid; border-width:1px 1px 0 0;...
关于js的嵌套循环优化
我用遍历一个树数据,嵌套了很多层循环,但是下一级循环的条件都是一样的,能不能有大神帮忙看看怎么优化rnchapterTreeData: Ember.computed("model", function() rn var chapterTree = this.get("model.titleTreeModel");rn var that = this;rn chapterTree.forEach(function(item) rn if (item.children) rn item.children.forEach(function(item) rn that.chapterTreeDataEach(item);rn if (item.children) rn item.children.forEach(function(item) rn that.chapterTreeDataEach(item);rn if (item.children) rn item.children.forEach(function(item) rn that.chapterTreeDataEach(item);rn if (item.children) rn item.children.forEach(function(item) rn that.chapterTreeDataEach(item);rn if (item.children) rn item.children.forEach(function(item) rn that.chapterTreeDataEach(item);rn );rn rn );rn rn );rn rn );rn rn );rn rn );rn return chapterTree;rn ),
js修改的样式与!important的优先级
今天在html文件头部写了一段js用来修改外部CSS文件的一个样式,其中外部文件中的该样式在应用到不同的media 中时各重写了一遍。 调用js修改后每个media下的该样式都被改写。 修改其中一个media下的样式优先级为!important,再调用js修改,其他media下的该样式均和之前一样被修改,而应用了!important的样式没有被修改,依然维持原状。 结论:单纯调用js修改属性
js修改页面背景样式
js修改页面背景,html设计中常有的广告背景修改方式。
js 修改同胞元素样式
加粗为例: $(&quot;.class&quot;).on('click', function(){ $(this).css(&quot;fontWeight&quot;, &quot;bold&quot;).siblings().css(&quot;fontWeight&quot;, &quot;normal&quot;); });
js如何修改 textarea的样式
在js中我得到一个特定字符串 我希望用这方式写入textarearnXXrn但是出乎我的意料的是在 textarea中 既然是直接输出来了rn并未吧XX变成红色rnrn请问js如何控制呢?
通过JS修改元素样式
语法:  元素,style.样式名 = 样式值 var box1=document.getElementById("box1");  box1.syle.width="100px"; 注意:如果CSS样式名含有 “-”如:background-color,这种名称在JS中不合法,需要将样式名修改为驼峰命名法, backgroundColor。 style设置的样式都是内联样式,有较高的优
嵌套循环问题
XML文件rn----------------------------------rnrn rn 1rn Asp技术rn rn rn 2rn Jsp技术rn rn rn 3rn PHP技术rn rnrn rn 1rn ASP基础rn 1rn rn rn 2rn ASP技巧rn 1rn rn rn 3rn JSP基础rn 2rn rn rn 4rn JSP技巧rn 2rn rn rn 5rn PHP基础rn 3rn rn rn 6rn PHP技巧rn 3rn rnrnrn显示效果:rn-------------------------------------rn rn rn Asp技术rn rn rn rn rn rn ASP基础rn rn rn ASP技巧rn rn rn rn rn rn Jsp技术rn rn rn rn rn rn JSP基础rn rn rn JSP技巧rn rn rn rn rn rn PHP技术rn rn rn rn rn rn PSP基础rn rn rn PHP技巧rn rn rn rn rn
iframe样式修改问题
请问,我在页面的一个Panel里套了一个iframe,我现在想通过colorpicker或者按钮来改变iframe的背景,请问应该要怎么做呢,我用myFlexi1.setStyle("backgroundColor",event.selectedColor);这个试了,但是背景没有变化
修改窗口样式的问题
我在CMainFrame::PreCreateWindow(CREATESTRUCT& cs)中可以修改窗口样式,但我将代码放在rnCFramWnd::PreCreateWindow(CREATESTRUCT& cs)中却无法改变窗口的样式,为什么?
样式修改问题总结
1.如若真个页面,用的是 &amp;lt;form:select path=&quot;reviewDept&quot; id=&quot;fsbm&quot;&amp;gt;                                 &amp;lt;option value=&quot;&quot;&amp;gt;请选择复审单位&amp;lt;/option&amp;gt;                                 &amp;lt;c:forEach items=&quot;
修改网站样式的问题
使用asp.net开发的网站,提供这个功能给用户使用rn用户自己修改外观样式后 如何保存下来?rn数据库还是创建css文件?没有头绪,请各位支招 rn
FileUpLoad的样式修改问题!~~~
FileUpLoad的样式与页面风格格格不入,一开始我看到了一个方法,是这样的:rn rn //加入个文本框rn //浏览按钮rn rn这种变通的办法用的都是html控件,完全没法在后台调用它们,不可行.然后用FileUpLoad控件想照搬这一方法,发现FileUpLoad里根本没有Click()事件,不知道大家有什么方法!~~~
FOR嵌套循环
FOR嵌套循环,教学设计,教案
嵌套循环
编写程序产生如下输出: F FE FED FEDC FEDCB FEDCBA 输入格式:无 输出格式:&quot;%c&quot; #include&amp;lt;stdio.h&amp;gt; int main(){ int rows,down; for(rows = 0; rows &amp;lt; 6; rows++){ for(down = 0; down &amp;lt;= rows; do...
JS控制样式的问题
现在有个iframe和一个被iframe的页 rn iframe页里有个BUTTON叫做A 这个A当双击他的时候触发一个隐藏他自己本身 该元素默认是display:none的 另外 当双击他的时候 同时返回到被IFRAME的页rn 在被iframe的页里有个button 当双击他的时候 我用parent把IFRAME他的页里的那个button 也就是A 的隐藏效果取消了 并且将被IFRAME跳成了一个别的页rnrnrn这就是我想要的效果 但是问题是 这种做法再第一次好使(默认的被IFRAME页为被IFRAME的页) 但是当再双击A的时候返回到被IFRAME页的时候 再执行这种操作就执行不了了rnrn我的形容能力有问题 所以如果说不清楚的地方 大家可以问。。但不要不理我。。rnrn
js控制样式问题?
[code=CSS]rn rn[/code]rnrnhtml代码:rn[code=HTML]rnrn 文字样式rn 文字样式rn 文字样式rn 文字样式文字样式rn rn 文字样式rn 文字样式rnrn[/code]rnrn完整测试代码:rn[code=HTML]rnrnrnrn rn 无标题文档rnrn rnrnrnrnrn 文字样式rn 文字样式rn 文字样式rn 文字样式文字样式rn rn 文字样式rn 文字样式rnrnrn rnrnrn[/code]rnrn怎么用js控制间的格式?rnrn使 .new 及相关的 #new * 、#new p 样式应用上?rnrn分不多,速回速结,谢谢!rn
嵌套循环(for)
嵌套循环是指在另一个循环之内的循环。通常使用嵌套循环来按行按列显示数据,也就是说一个循环处理列,另一个循环处理行 下面列出几个程序来说明: (1)int main() {     int row; int ch; for(row=0;row { for(ch='A';ch printf("%c\n",ch); }     return 0; } 运行结
for的嵌套循环
编写嵌套循环显示下面的输出内容:rnrn0rn01rn012rn0123rn01234rn0123rn012rn01rn0rnrn我自己编了个这样的程序:rn[code=C/C++]#include rnint main(void)rnrn int a[9][5];rn int i,j,k;rn for(i=0;i<9;i++)rn for(j=0;j<5;j++)rn a[i][j]=j;rn for(i=0;i<9;i++)rn rn if(i<5)rn k=i;rn elsern k=9-i;rn for(j=0;j<=k;j++)rn printf("%d",j);rn printf("\n");rn rn[/code]rnrn输出是这样的:rn0rn01rn012rn0123rn01234rn01234rn0123rn012rn01rnrnrn请问这是哪里出问题了?我自己修改不好了。。。谢谢
for嵌套循环
嵌套循环是指在一个循环内包含另一个循环,嵌套循环常用于按行和列显示数据,也就是说,一个循环处理一行中的所有列,另一个循环处理所有的行。 for循环嵌套简单来说就是一个外圈的for程序里面一个套着一个小的for程序, 例如9*9乘法口诀表 : #include&amp;lt;stdio.h&amp;gt; int main() { int i,j,result; printf(&quot;\n&quot;); ...
微信小程序之Js修改元素样式
微信小程序和普通的前端开发有很多不同。 后者修改样式js可以操作DOM,即 document.getElementById(id).style.property=new style 但是微信的js是没有DOM操作这功能的,也就没有  element.style.property=new style 这种方法(使用会报错,没定义)   正确方法: &amp;lt;text style=&quot;color...
js css 表格样式统一修改
文件:包含一个css样式文件、js脚本文件 功能:用来统一网站的表格样式,可设置表格样式:表头、交替行、鼠标悬浮行、鼠标点击行、如果熟悉js还可继续添加样式比如表格标题caption的样式。 //调用方法:就3步,网站所有页面表格的样式就统一了 //1 引入样式<link href="../css/common.css" rel="stylesheet" type="text/css" /> //2 引入脚本<script src="../js/SetTableCss.js" type="text/javascript"></script> //3 加入代码(可对多个表格统一设置样式) // <script type="text/javascript"> // window.onload = function() { // TableCss({ tableName: '表的id 1'});//有一个表,一行就行了 把表的id写在‘’里 // TableCss({ tableName: '表的id 2' }); // TableCss({ tableName: '表的id 3' });//等等 // } // </script>
vue通过js修改元素的样式
1 给元素定义ref 属性 &amp;lt;el-button ref=&quot;btnClick&quot; class=&quot;list_button&quot; &quot; @click=&quot;openClose&quot;&amp;gt;&amp;lt;/el-button&amp;gt;  2 通过js 方法修改元素的样式   修改较多样式时可使用cssText function openClose() { this.isCollapse = !t...
怎样用js修改div里标签的样式
我有一段在手机上显示的话因为分辨率的问题字体很小,想要在页面获取的时候修改字体的大小。如下,这段代码是从数据库拿出来的,里面的行内样式我没办法修改,但是都是包含在div里面的p和span标签里面。我想通过在页面设置div内p和span的样式来控制,不知道要怎么做到?代码如下rn rn 今年一季度,由于处于春节以及受长时间阴雨天气影响,嘉兴市蔬菜价格一直处于“高高在上”的状态。rn但是从第二季度开始,由于气温回暖,本地菜逐渐进入丰产期.
如何用JS修改style里的样式?
例如有个样式rn rnrn如何用JS修改.myStyle里的数据?rn
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview