我的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”
你能不能让我知道为什么会这样。
答案 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>
)。