jquery怎样做到获取一个div里的值以后,循环判断另一个div里的值相等

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery怎样做到获取一个div里的值以后,循环判断另一个div里的值相等相关的知识,希望对你有一定的参考价值。

<div id="a">111,222,333</div>
<div id=“b”><input type="checkbox" name="checked1" value="111"><input type="checkbox" name="checked1" value="222"><input type="checkbox" name="checked1" value="333"><input type="checkbox" name="checked1" value="444"></div>
我获取了a里面的值 循环取出来了
我想根据这个值去判断value里面的值得相等的 给其加上 选中

根据你的需求,我写了两段代码(分使用jQuery和原生JS描述),请参考:

/*使用jQuery的写法,需先引入jQuery库*/

//第1步:读取a中的数值,并按逗号分割成数组
var a = $('#a').html().split(',');

//第2步:遍历数组,勾选与数组值相同的复选框
$.each(a, function(index, item)
  $('input[value='+item+']').attr('checked', true);
);


/*原生JS的写法,需IE9及以上浏览器*/

//第1步:读取a中的数值,并按逗号分割成数组
var a = document.getElementById('a').innerText.split(',');

//第2步:遍历数组,勾选与数组值相同的复选框
a.forEach(function(item, index, arr)
  var input = document.querySelectorAll('input[value="'+item+'"]');
  for(var n=0;n<input.length;n++)
    input[n].checked = 'checked';
  
);

参考技术A var aval = $("#a").val();
var aArray = aval.split(",");
var inval = $("#b").$("input");
for(var i=0;i<inval.length;i++)
    for(var j=0;j<aArray.length;j++)
           if(inval[i].val() == aArray[j])
               inval[i].attr("checked","checked");
           
    

追问

报错了 Uncaught TypeError: inval[i].val is not a function

追答

var aval = $("#a").html();
var aArray = aval.split(",");
var inval = $("#b").$("input");
for(var i=0;i<inval.length;i++)
for(var j=0;j<aArray.length;j++)
if(inval[i].val() == aArray[j])
inval[i].attr("checked","checked");


jquery如何元素的值循环显示出来

有3个div
如何用jquery把第二个div中p后面的值用alert()逐个显示出来,
即循环显示出 1111 2222 3333
<div>
<p>aaaa</p>
<p>bbbb</p>
<p>cccc</p>
</div>

<div>
<p>1111</p>
<p>2222</p>
<p>3333</p>
</div>

<div>
<p>555</p>
<p>666</p>
<p>77777</p>
</div>
我想获取最后一个div中的值
$('div:last p').each(function ()
alert($(this).text());
);
用这种方法在火狐,谷歌中可以,但在ie中却不行

首先选择需要循环显示的元素,然后用jquery的遍历函数(如each()和map())将其显示出来即可:

$(selector).each(function(index,element));   // 为每个匹配元素规定运行的函数
$(selector).map(function(index,domElement)); // 对当前集合中的每个元素调用的函数对象

实例演示:点击按钮获取第二个div下所有p标签的值

    创建Html元素

    <div class="box">
    <span>点击按钮获取第二个div下所有p标签的值:</span><br>
    <div class="content">
      <p>aaaa</p>
      <p>bbbb</p>
      <p>cccc</p>
    </div>  
    <div class="content">
      <p>1111</p>
      <p>2222</p>
      <p>3333</p>
    </div>  
    <div class="content">
      <p>555</p>
      <p>666</p>
      <p>77777</p>
    </div>
    <input type="button" value="获取第二个div下所有p标签的值">
    </div>

    设置css样式

    div.boxwidth:300px;padding:20px;margin:20px;border:4px dashed #ccc;
    div.box>spancolor:#999;font-style:italic;
    div.contentwidth:250px;margin:10px 0;padding:20px;border:2px solid #ff6666;

    编写jquery代码

    $(function() 
    $("input:button").click(function() 
    text = $("div.content").eq(1).find("p").map(function(index,elem) 
    return $(elem).text();
    ).get().join(',');
    alert("第二个div下p标签依次为:"+text);
    );
    );

    观察效果

参考技术A $(function () 
  $('div:eq(1) p').each(function () 
    alert($(this).html());
  );
);

追问

我想获取最后一个div中的值
$('div:last p').each(function ()
alert($(this).text());
);
用这种方法在火狐,谷歌中可以,但在ie中却不行

追答

我测试是可以的,ie没问题。我用最新的jquery

本回答被提问者采纳

以上是关于jquery怎样做到获取一个div里的值以后,循环判断另一个div里的值相等的主要内容,如果未能解决你的问题,请参考以下文章

在js中怎样获取option里的值,让他回显,谢谢

jquery怎样获取元素里的文本内容

如何利用jquery获取div下的<span标签里的值,万分感谢!

jquery怎么获取DIV里面的值?

jq 怎样取得鼠标在某个div里的坐标?

jquery怎样点击某个元素后获得另一个元素里的链接并跳转