不确定为什么这会返回undefined。该元素存在,我甚至尝试更改ID属性,以确保它与命名空间中的任何内容都不冲突。
我也在导入jquery,所以这不是问题。双括号用于Django上下文变量
有什么想法吗?
<script type="text/javascript">
//return to search page with appropriate GET parameters
var parameters=window.location.search +'';
$('#back').attr('href',$('#back').attr('href')+parameters);
</script>
<div id="content">
<a id="back" href="{{site}}search/"><< Return to Search Results </a>
</div>
答案 0 :(得分:3)
确保在完全加载DOM后修改属性,方法是将代码放入$(document).ready()的调用中:
<script type="text/javascript">
$(document).ready(function()
{
var parameters=window.location.search +'';
$('#back').attr('href',$('#back').attr('href')+parameters);
});
</script>
如果script
标记位于body
内,则问题中显示的代码将失败,因为Javascript将在解析时被调用,并且在那个时间点,您的锚标记尚未解析。
答案 1 :(得分:0)
以下对我有用..也许你是通过使用&lt;打破它。而不是&amp; lt;
<div id="content">
<a id="back" href="{{site}}search/"><<Return to Search Results </a>
</div>
<div id='result'>result</div>
$(document).ready(function(){
var parameters=window.location.search +'/';
$('#back').attr('href',$('#back').attr('href')+parameters);
$('#result').html($('#back').attr('href'));
});
答案 2 :(得分:0)
您的选择器$(“#back”)选择 ARRAY 控件。您想要解决数组的[0]元素,如下所示:
<script type="text/javascript">
function hrefOnClick() {
var myA = $("#testHref");
alert(myA[0].href);
}
</script>
表示这样的锚标记:
<a id="testHref" href="http:\\www.stackoverflow.com" onclick="hrefOnClick();">click me</a>