切换多个具有相同ID的<span>

时间:2019-08-05 19:44:59

标签: javascript jquery toggle

这将显示仅在第一次出现时单击时的隐藏数字。如果同一文本中有多个data = [] IntData = [] def analyse(): try: openfile = input('Enter file path: ') with open(openfile) as f: read = f.read() data.append(read) print(data) next = input('Press any Key to continue..') if next == '': noCheck() except FileNotFoundError: print('No File Found') def noCheck(): for number in data: try: IntData.append(int(number)) print(IntData) except ValueError: print('No numbers found') analyse() ,我不确定如何使其工作。我什至不介意在单击其中一个时是否全部显示。或者它们可以独立显示。无论哪种方式。

<span id="number">

2 个答案:

答案 0 :(得分:1)

您可以按属性查询DOM节点

<script>
$(function(){
  $('[data-last]').click(function() {
    $(this).find('span').text( $(this).data('last') );
  });
});
</script>

<span id="number" data-last="1234">5678<span>****<span class="showphone">Show</span></span></span>

答案 1 :(得分:1)

同一文档中不能有多个具有相同ID的元素。

  

在HTML元素上指定时,在元素树中的所有ID中,id属性值必须唯一,并且必须至少包含一个字符

请参阅HTML 5 Spec

如果您要在页面上使用多个数字,我建议使用类而不是ID:

$(function() {
  $('.number').click(function() {
    $(this).find('span').text($(this).data('last'));
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="number" data-last="1234">5678<span>****<span class="showphone">Show</span></span></div>
<div class="number" data-last="5678">1234<span>****<span class="showphone">Show</span></span></div>
<div class="number" data-last="1234">5678<span>****<span class="showphone">Show</span></span></div>
<div class="number" data-last="5678">1234<span>****<span class="showphone">Show</span></span></div>