使用jQuery AJAX更改anchor的href,但HTML说href =“undefined”

时间:2012-09-24 20:11:31

标签: jquery undefined href

我有id="popup"的锚元素。页面加载时,它有href="path/to/image.jpg"

我使用AJAX来获取我想要更改此锚点的href的值。

当我收到AJAX响应时,我会这样做:

alert(jQuery("#popup").attr("href"));//alert 1
jQuery("#popup").attr("href", xhRequest.responseText);
alert(jQuery("#popup").attr("href"));//alert 2

xhRequest.responseText包含正确的值,但即使我只使用字符串文字也会遇到同样的问题。)

问题在于,执行此操作后,页面中生成的HTML会在锚元素中显示href="undefined"

  • 警报1正确显示href属性的初始值
  • 警报2正确显示新值为href
  • 页面本身显示href="undefined"

所以href正在以某种方式受到影响,但是没有正确添加值。

更新
由于某种原因,正在返回正确的数据,但仅限于此:

error: function(xhRequest, ErrorText, thrownError) {
    alert(xhRequest.status + ' ----' + xhRequest.responseText + '---');
    if ((xhRequest.responseText != '') && (document.getElementById("popup"))) {
        alert(jQuery("#popup").attr("href"));
        jQuery("#popup").attr("href", xhRequest.responseText);
        alert(jQuery("#popup").attr("href"));
    }
}​

xhRequest.status的值为200xhRequest.responseText的值为images/linked/ColorBeige.jpg,正如所料,没有空格。

0 个答案:

没有答案