我想使用 jQuery 来确定链接是文本链接还是图像链接。如果它是文本链接,我想抓取文本。如果是图片链接,我想获取图片的id。我尝试使用 .text() 作为文本链接,但这对于我的图像链接也返回 true。
function get_link_content(object) {
if($(object).text()) {
var link_content = $(object).text();
}
// even if it's an image link, this ^^ always returns true
else if($(object).find('img')) {
if($(object).find('img').attr('id')) {
var link_content = $(object).find('img').attr('id');
}
else {
var link_content = 'unidentified';
}
}
return link_content;
}
通过文本链接,我的意思是:
<a href="#">This is a text link</a>
通过图像链接,我的意思是:
<a href="#"><img id="the-id" src="#"></a>
除了 .text() 之外,我还应该使用其他方法吗?
最佳答案
if( $('img', $(object)).length ){
//object has a img as child
}
else{
//object doesnt have
}
或
var myText = $('img', $(object)).length ? $('img', $(object)).attr('id')
: $(object).text();
或者作为一个函数
function get_link_content(object) {
return $('img', $(object)).length ? $('img', $(object)).attr('id')
: $(object).text();
}
或
return ( $('img', $(object)) && $('img', $(object)).attr('id') ) || $(object).text();
根据@undefined的建议将所有长度更改为has(),然后在阅读“has()”文档后恢复为长度:P
关于jquery - 使用 jQuery 获取链接文本(如果有)或图像的 id(如果是图像链接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12187443/