对编程不熟悉,想知道如何检查内部有元素的A标签
我有这个例子。
<a href="index.html" star='moon' elem='sample_elem' </a>
<a href="index.html" month='element' email='sample elem' </a>
<a href="index.html" star='moon' elem='sample_elem' </a>
我想检查带有star元素的标签是否具有elem元素。
尝试过此。
if($('a[star]').attr('elem') === undefined){
alert('star has no elem')
}else{
alert('all star has elem')
}
//it gives me 'star has no elem'
有可能吗?
注意:希望这成为if else语句。
您错过了<a>
的'>',所以应该像这样:
<a href="index.html" star='moon' elem='sample_elem'> </a>
<a href="index.html" month='element' email='sample elem'> </a>
<a href="index.html" star='moon' elem='sample_elem'> </a>
似乎OP希望检查具有star
属性的锚元素的all是否也具有elem
属性。
您可以使用hasAttribute检查元素是否具有特定名称的属性。
您可以使用every检查数组中的每个元素都通过自定义测试。
// get all the anchor elements with the 'star' attribute
const elements = $('a[star]');
// test to see that every one of them has the 'elem' attribute
const result = elements.every((el) => {
el[0].hasAttribute('elem');
});
// use the result of our test to take some conditional actions
if(result) {
alert('all star has elem')
} else {
alert('star has no elem');
}
我想您想检查该属性是否存在。您可以通过这种方式进行。并关闭锚标签的末端标签。
<a href="index.html" star='moon' elem='sample_elem'> </a>
<a href="index.html" month='element' email='sample elem'> </a>
<a href="index.html" star='moon' elem='sample_elem'> </a>
var attr = $('[star="moon"]').attr('elem');
// For some browsers, `attr` is undefined; for others,
// `attr` is false. Check for both.
if (typeof attr !== typeof undefined && attr !== false && attr) {
// ...
}
使用is
检查
if($('a').is('[star][elem]')){
return true;
}else{
return false;
}