html看起来像这样:
<ul class="categoryitems">
<li><a data-url="../po/browse_po.php" href="welcome.php" target="main">PURCHASE ORDERS</a></li>
<li><a data-url="../po/po_email_config.php" href="welcome.php" target="main">PO EMAILS</a></li>
</ul>
忽略它们不相关的href。我打算防止它们违约。
什么是相关的是jquery失败:
$('a').click(function()
{
alert($(this).parent().html()); //shows the a tag with the data-url attribute
//$(this).data('url',"..someurl.com");
alert($(this).data('url')); //returns undefined; when the previous line is uncommented works
alert($(this).attr('data-url')); //this works
});
如果它有所不同,则点击功能包含在:
中$("#wndNavbar").ready( function() {
});
因为它在一个框架中:
<frameset cols="<?=$gl_navbar_width?>,*" frameborder="0" framespacing="5" border="0">
<frame id="wndNavbar" name="wndNavbar" src="nav_bar.php" scrolling="auto" marginheight="0" noresize>
<frame name="main" src="welcome.php" scrolling="auto" marginheight="0" noresize>
</frameset>
答案 0 :(得分:2)
这不是您阅读data-url
的方式。这是正确的方法:
alert($(this).data('url'));
或
alert($(this).attr('data-url'));
更新:由于以上似乎没有为您解决,您是否尝试过使用
$(document).ready(function() {
});
或
$("#wndNavbar").live(function() {
});
而不是
$("#wndNavbar").ready( function() {
});
更新2:您似乎使用的是frame
,而不是iframe
。 ready
无法使用frame
,因此您需要使用load
:
$("#wndNavbar").load( function() {
});