jQuery DOM相关问题

时间:2011-10-04 06:57:04

标签: javascript jquery dom jquery-selectors

我的jQuery DOM遇到了一个奇怪的问题; 我的代码如下;

$("#"+iframeId).attr("src",url);
$("a[target="+iframeId+"]").attr("href", url);

iframeId获取值“swcontent”

现在第一个语句工作正常,但第二个语句没有返回任何内容,即使我的页面上有一个链接;

<a target="swcontent" href="xyz.html" class="standardMenu_on">Link</a>

如果我写了

,那么奇怪的部分就在我的Firebug检查器中
document.getElementsByTagName("a")[0].getAttribute("target")

确实找到了目标“swcontent”

你能不能让我知道为什么会这样。

5 个答案:

答案 0 :(得分:0)

我认为您需要做的就是将jQuery包装在文档就绪处理程序中,如下所示:

$(document).ready(function(){
  //put your jQuery in here
});

告诉我这是否有效

答案 1 :(得分:0)

var url = "http://www.yahoo.com";
$("a[target=swcontent]").attr("href", url);
alert(document.getElementsByTagName("a")[0].outerHTML);

这适合我。

答案 2 :(得分:0)

尝试将属性值括在引号中,请参阅此处以获取工作示例http://jsfiddle.net/99Gua/

$('a[target="'+iframeId+'"]').attr("href", url);

答案 3 :(得分:0)

尝试检查:

$('a[target="'+iframeId+'"]').length

在firebug / console中。如果它不是1,您可能没有选择预期的内容。 如果是> 1,您的预期选择可能不是它找到的第一个元素。它可能是没有href attr的标签。

答案 4 :(得分:0)

您的所有脚本标签都已正确关闭吗? 有时观察“如果我添加另一个脚本就可以”,提示使用空脚本标记(<script />而不是<script></script>)。