如果元素具有其他元素,如何检查锚标签?

问题描述 投票:0回答:4

对编程不熟悉,想知道如何检查内部有元素的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语句。

javascript jquery cheerio
4个回答
0
投票

您错过了<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>

查看此小提琴:https://jsfiddle.net/ooi18/ed14jps8/


0
投票

似乎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');  
}

0
投票

我想您想检查该属性是否存在。您可以通过这种方式进行。并关闭锚标签的末端标签。

 <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) {
    // ...
}

0
投票

使用is检查

if($('a').is('[star][elem]')){
   return true;
}else{
   return false;
}
© www.soinside.com 2019 - 2024. All rights reserved.