繁体   English   中英

获取元素数组中的每个元素值

[英]Get each element value inside elements array

我需要在elements数组中找到elements值。 注意,有许多<a>元件,但只有一个<span id="attendees">一个内部<a>

如下例:

HTML:

<a id="meetingItem_{{meeting.id}}" onclick="AuthorityCheck()"> Item

      <span id="attendees" style="visibility:collapse;" >{{meeting.attendees}}</span>
</a>

Javascript:

function AuthorityCheck(){

          var items = $('*[id^="meetingItem_"]');
          for (var i = 0; i < items.length; i++){
               var people = items[i].id.indexOf("attendees"); // I need to find span value here, but get undefined.
          }
    }

jQuery也可以,但我更喜欢Javascript。 :)

function AuthorityCheck()
{
      var items = document.querySelectorAll('*[id^="meetingItem_"]');
      for (var i = 0; i < items.length; i++)
      {
           var people = document.getElementById("attendees").innerHTML;  
      }
}

此解决方案完全无效,不使用jQuery。 使用innerHTML是因为它在每个浏览器中都提供了内容。 是否存在不应检索的HTML。 您应该使用innerText或textContent。 将行更改为此:

 var people = document.getElementById("attendees").textContent || document.getElementById("attendees").innerText; 

附带说明: Id对于完整的DOM tree是唯一的。 这意味着如果您有多个包含参与者span a元素。 该代码将无法正常运行,因为存在多个spansid = attendees spans 您可以使用属性或类对此进行绕行。

 <span data-type="attendees" style="visibility:collapse;" >{{meeting.attendees}}</span>
function AuthorityCheck()
{
      var items = document.querySelectorAll('*[id^="meetingItem_"]');
      for (var i = 0; i < items.length; i++)
      {
           var people = items[i].querySelectorAll("span[data-type='attendees']")[0].innerHTML;  
      }
}

你有没有尝试过:

var people = document.getElementById("attendees").textContent;

或跨浏览器友好:

var people = $("#attendees").text();

如果项目具有“出席者” ID,则只需获取该元素的值,如果您的元素是跨度,则可以将值存储在data-attribute

JS

 function AuthorityCheck(){
      var items = $('*[id^="meetingItem_"]');
        for (var i = 0; i < items.length; i++){
          if (items[i].id.indexOf("attendees") !== -1) {
            var people = items[i].getAttribute('data-value');
          }
        }
    }

的HTML

<span id="attendees" data-value="your value">

这个怎么样

var people = [];
$('*[id^="meetingItem_"]').each(function (index) {
    people[index] = $(this).find('span#attendees').html();
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM