【问题标题】:Why the href attribute is not getting set in followinng scenario?为什么在以下情况下未设置 href 属性?
【发布时间】:2013-09-23 13:55:33
【问题描述】:

我正在使用 jQuery Colorbox 库。我无法设置锚标记的 href 属性值。你能帮我设置值吗?如果我在警报中打印该值,它将打印正确的 href 属性值。我的代码如下:

<a class="edit_user_transaction_status c-btn" updatehref="{$control_url}{$query_path}?op=edit_user_transaction&page={$page}&txn_no={$user_transaction_details.transaction_no}&transaction_data_assign={$user_transaction_details.transaction_data_assign}&user_id={$user_id}{if $user_name!=''}&user_name={$user_name}{/if}{if $user_email_id!=''}&user_email_id={$user_email_id}{/if}{if $user_group!=''}&user_group={$user_group}&{/if}{if $user_sub_group!=''}&user_sub_group={$user_sub_group}{/if}{if $from_date!=''}&from_date={$from_date}{/if}{if $to_date!=''}&to_date={$to_date}{/if}{if $transaction_status!=''}&transaction_status={$transaction_status}{/if}{if $transaction_no!=''}&transaction_no={$transaction_no}{/if}" href="#updatePopContent">Update</a>

<div class="hidden">
  <div id="updatePopContent" class="c-popup">
    <h2 class="c-popup-header">Transaction</h2>
    <div class="c-content">         
      <h3>Are you sure to change status?</h3>
      <a href="#"class="c-btn">No</a><a href="" class="c-btn edit_transaction_status" id="update_url">Yes</a> 
    </div>
  </div>
</div>

<script language="javascript" type="text/javascript">
$(document).ready(function(){   

 $(".edit_user_transaction_status").click(function(e) { 
  //$.colorbox.close(); 
    var update_url = $(this).attr('updatehref');
    $('#update_url').attr('href', update_url);
    $(".edit_user_transaction_status").colorbox({inline:true, width:666});   

    $(".c-btn").bind('click', function(){
      $.colorbox.close();
    });
  });

  });
  </script>

我无法将 href 属性的值(即 update_url)设置为 ID 为 update_url 的锚标记。你能帮我吗?提前致谢。

【问题讨论】:

  • 您是否添加了控制台行以查看失败的位置?
  • 使用控制台或警报检查 update_url 的值是什么
  • 萤火虫控制台没有给我任何错误,如果我打印 href 属性的值,它会显示“未定义”
  • 如果您在var update_url 行之后执行console.log(update_url),您会得到什么?
  • 问题是,数据属性甚至可以在 Ie6 中工作,而 HTML5 甚至都没有被考虑过。它只要求您处于标准模式,因此只要您不处于怪癖模式,自定义属性应该可以工作(即使它们无效)。在怪癖模式下,所有赌注都关闭。

标签: javascript php jquery html smarty


【解决方案1】:

尝试设置一个数据属性而不是一个虚构的属性(应该可以工作,但最好使用数据。另外,要知道,当我发现动态更新某些内容时,萤火虫等并不总是会改变。您可以随时控制台.log($('.edit_user_transaction_status').attr('href')) 检查最终值:

<a class="edit_user_transaction_status c-btn" data-updateHref="{$control_url}... href="#updatePopContent">Update</a>

$(".edit_user_transaction_status").click(function(e) { 
//$.colorbox.close(); 
var update_url = $(this).data('updateHref');
$('#update_url').attr('href', update_url);
$(".edit_user_transaction_status").colorbox({inline:true, width:666});   

$(".c-btn").bind('click', function(){
  $.colorbox.close();
});

});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-09
    • 1970-01-01
    • 2012-03-02
    • 2011-05-27
    • 2019-01-09
    • 2012-10-21
    • 2019-06-16
    相关资源
    最近更新 更多