【问题标题】:Jquery trying to get src using html()Jquery 尝试使用 html() 获取 src
【发布时间】:2012-03-02 14:09:49
【问题描述】:

我正在尝试从这个 jquery html() 中获取 src。

所以使用 jquery html() 我的警报会显示此输出

我想要的是 src。见以下代码:

 var $boxes = $(".slideWrap"),
                var hdnImg = $boxes.first().show();
                var p = hdnImg.html(); //OUTPUTS <img src="../image090.png" id="ctl00_ContentPlaceHolder1__Graphics1">
                alert(p.attr("src")); // DOES NOT WORK??

为什么 p.attr("src") 不起作用?我正在尝试获取 html,然后从 html 中获取 src。

有人帮忙吗?

【问题讨论】:

  • 你想要hdnImg.attr("src")
  • 尝试出现错误“未定义”消息。有没有办法从 jquery html() 获取 src。

标签: javascript jquery jquery-ui jquery-selectors


【解决方案1】:

According to the documentation .html() 返回一个字符串。字符串没有.attr() 方法。

如果您想要元素的属性,请在具有您想要的属性的元素上使用.attr()


这是问题的另一部分......

var p = hdnImg.html(); //OUTPUTS <img src="../image090.png" id="ctl00_ContentPlaceHolder1__Graphics1">

因为输出显示的是&lt;img&gt;的HTML,而.html()方法返回的是HTML内容,那么说明图片是嵌套的。 p>

要获取图像,您需要遍历它。改为这样做...

var p = hdnImg.children('img').html();

【讨论】:

    【解决方案2】:

    我想你正在寻找

    hdnImg.children('img').attr('src')
    

    【讨论】:

      【解决方案3】:

      你不想要 html,你想要 jQuery 包装的 DOM 元素:hdnImg.attr("src");

      【讨论】:

        【解决方案4】:

        p 不是 JQuery 对象。

        试试:

        $(p).attr("src")
        

        【讨论】:

          【解决方案5】:

          问题在于您的 hdnImg 变量不是实际的 IMG 元素,而是父元素(即任何具有 .slideWrap 的类)

          首先像这样获取img元素:

          var img = hdnImg.find("IMG");
          

          那么你就可以得到srclike

          var src = img.attr("src");
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-10-20
            • 1970-01-01
            • 2012-09-07
            • 2023-03-22
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多