jquery - 使用 jQuery 获取链接文本(如果有)或图像的 id(如果是图像链接)

标签 jquery text find

我想使用 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/

相关文章:

jquery - 将 JSON 数据添加到数据表

javascript - 事件处理程序不适用于创建的元素

jquery - 强制jquery ui datepicker关闭/不弹出

jquery - 为什么此代码会将表单输入发送到 URL?

java - 如何让我的文本每行不打印一个字符?

perl - 如何在 Perl 中有效地解析 CSV 文件?

python - “my_test”对象没有属性 'find_element_by_xpath'

javascript - JQuery 或 JavaScript 在页面问题上将文本替换为/图像背景

javascript - 在 JavaScript 中使用 break 与 find() 的 for 循环

unix - 抑制 find & grep "cannot open"输出