在 jQuery 中访问和更改具有给定字符串 ID 的 div html

Access and change html of divs with a given string ID in jQuery

我正在使用以下代码访问所有具有给定字符串 ID 的 div(以字符串 "brand":

开头的那些
var tipo = "brand".
jQuery('div[id ^= "' + tipo + '"]').hide();

它完美地工作,并一次隐藏所有 div。但我想获得所有受影响的 id 的列表(数组)以更改其 .html(),但不知道如何实现。我试过了。

 jQuery('div[id ^= "' + tipo + '"]').each(
     alert(this.id);
 );

为找到的每个 ID 显示警报,但没有成功。我该如何进行?

您应该将匿名函数传递给 each 方法:

jQuery('div[id ^= "' + tipo + '"]').each(function() {
     alert(this.id);
});

您需要提供一个回调函数作为参数。

jQuery('div[id^="' + tipo + '"]').each(function(){
    alert(this.id);
});

var tipo = "a";
jQuery('div[id^="' + tipo + '"]').each(function() {
  alert(this.id);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="a1"></div>
<div id="a2"></div>
<div id="a3"></div>
<div id="a4"></div>


要获取 ID 数组,请使用 map() 方法。

var ids = jQuery('div[id^="' + tipo + '"]').map(function(){
    return this.id;
}).get();

var tipo = "a";
var ids = jQuery('div[id^="' + tipo + '"]').map(function() {
  return this.id;
}).get();

console.log(ids);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="a1"></div>
<div id="a2"></div>
<div id="a3"></div>
<div id="a4"></div>

您可以使用

获取 ID 数组
var ids = jQuery('div[id ^= "' + tipo + '"]').map(function(){
     return this.id;
}).get();

注意使用 function 关键字创建匿名函数,由 map 调用(称为回调)。

试试这个

 jQuery('div[id ^= "' + tipo + '"]').each(function(){
     alert( $(this).attr('id') );
 )};