js 查找具有相同 innerHTML 的元素
js find Elements with same innerHTML
我有一个包含一些文本的按钮,我通过 innerHTML 获取该文本
var helpName = helpButton.parentElement.querySelector('span').innerHTML;
然后我还有其他几个触发手风琴框的按钮
var helpAccordions = modal.getElementsByClassName('accordion');
我想 select helpAccordions 中与 helpName 匹配的一个元素并将其设置为变量。
<div class="modal-content">
<span class="close">×</span>
<h3 class="modal-title">Help</h3>
<button class="accordion">Key Partners</button>
</div>
<div class="section-header">
<span>Key Partners</span>
<div class="help-icon"></div>
</div>
只需与 jquery contains()
一起使用
$(document).ready(function (){
$('button').click(function(){
var a = $('span:Contains('+$(this).text()+')').parent();
//result varible is a
console.log(a.attr('class'))
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="modal-content">
<span class="close">×</span>
<h3 class="modal-title">Help</h3>
<button class="accordion">Key Partners</button>
</div>
<div class="section-header">
<span>Key Partners</span>
<div class="help-icon"></div>
</div>
如果你不能使用jQuery,我做了一个fiddle显示它可以工作,下面是相关代码。
var helpName = helpButton.parentElement.querySelector('span').innerHTML;
var helpAccordions = modal.getElementsByClassName('accordion');
var length = helpAccordions.length;
var myButton;
for(var i = 0; i < length; i++) {
var button = helpAccordions[i];
if(button.innerHTML === helpName) {
myButton = button;
break;
}
}
console.log(myButton) // the button with Key Partners as the text
我有一个包含一些文本的按钮,我通过 innerHTML 获取该文本
var helpName = helpButton.parentElement.querySelector('span').innerHTML;
然后我还有其他几个触发手风琴框的按钮
var helpAccordions = modal.getElementsByClassName('accordion');
我想 select helpAccordions 中与 helpName 匹配的一个元素并将其设置为变量。
<div class="modal-content">
<span class="close">×</span>
<h3 class="modal-title">Help</h3>
<button class="accordion">Key Partners</button>
</div>
<div class="section-header">
<span>Key Partners</span>
<div class="help-icon"></div>
</div>
只需与 jquery contains()
$(document).ready(function (){
$('button').click(function(){
var a = $('span:Contains('+$(this).text()+')').parent();
//result varible is a
console.log(a.attr('class'))
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="modal-content">
<span class="close">×</span>
<h3 class="modal-title">Help</h3>
<button class="accordion">Key Partners</button>
</div>
<div class="section-header">
<span>Key Partners</span>
<div class="help-icon"></div>
</div>
如果你不能使用jQuery,我做了一个fiddle显示它可以工作,下面是相关代码。
var helpName = helpButton.parentElement.querySelector('span').innerHTML;
var helpAccordions = modal.getElementsByClassName('accordion');
var length = helpAccordions.length;
var myButton;
for(var i = 0; i < length; i++) {
var button = helpAccordions[i];
if(button.innerHTML === helpName) {
myButton = button;
break;
}
}
console.log(myButton) // the button with Key Partners as the text