我正在尝试将当前类添加到导航标签的li
。以下是我的代码
<nav class="tabs-nav quickset-tabs">
<ul class="hidden" data-bind="css: { hidden: false }, foreach: currentTab().subMenus">
<li class="" data-bind="visible: visible"><a data-bind="click: $parent.openTab, text: title"></a></li>
</ul>
</nav>
jQuery代码如下
<script type="text/javascript">
$('ul li a').click(function() {
$('ul li.current').removeClass('current');
$(this).closest('li').addClass('current');
});
</script>
我无法找到为什么不将current
类添加到li
标记。
答案 0 :(得分:1)
问题是点击处理程序是在页面加载时添加的,并且动态添加的任何current
元素都不会应用它。请参阅下面的代码,了解将点击处理程序应用于新添加的元素的工作解决方案。 (出于演示目的,将突出显示具有$('ul li a').click(function() {
$('ul li.current').removeClass('current');
$(this).closest('li').addClass('current');
});
var list = document.getElementsByTagName('ul')[0];
function addAnchor() { // add another anchor element
list.innerHTML = $('ul').html() + '<li class="" data-bind="visible: visible"><a data-bind=" click: $parent.openTab, text: title">Anchor</a>List item</li>';
$('ul li a').unbind();
$('ul li a').click(function() {
$('ul li.current').removeClass('current');
$(this).closest('li').addClass('current');
});
}
类的任何元素。)单击锚点将类应用于列表项。
a {
border: 1px solid red;
padding: 2px;
margin: 3px;
border-radius: 10px;
}
li {
border: 1px solid black;
border-radius: 10px;
padding: 5px;
margin: 2px;
}
.current {
background-color: yellow;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav class="tabs-nav quickset-tabs">
<ul class="hidden" data-bind="css: { hidden: false }, foreach: currentTab().subMenus">
<li class="" data-bind="visible: visible"><a data-bind=" click: $parent.openTab, text: title">Anchor</a>List item</li>
</ul>
</nav>
<button onclick="addAnchor();">Add An Anchor</button>
&#13;
a
&#13;
这是将点击处理程序添加到每个新 $('ul li a').unbind();
$('ul li a').click(function() {
$('ul li.current').removeClass('current');
$(this).closest('li').addClass('current');
});
元素的代码的相关部分:
a=[0,0,2,4,4,6,6,9,12,13,13,16,16,21,21,24,26,26,28,28,31,34,34,37,37]
答案 1 :(得分:0)
我已经创建了一个函数,并在按钮上调用它,它工作正常。以下是代码
my $dbh= DBI ->connect("DBI:Oracle:$ENV{'FACTORY_' . $db . '_DB_NAME'}", $db_user, $db_password, {PrintError => 0 });
if ($DBI::err)
{
print "Error to connect database : $DBI::err \n";
}