我正在尝试从已填充的列表中删除元素以附加到另一个列表(div)。我有功能设置,但我希望从左侧列表中选择的元素在移动到右侧列表时消失。 使用$(" .choosefromlist")。haide();只是让整个列表全部隐藏起来。我只想让你在左边选择的元素在选中时消失。如果你能告诉我如何摆脱右边的li nav点,你会获得奖励!
这是我的小提琴: https://jsfiddle.net/9vtnq8fk/
function setActive() {
aObj = document.getElementById('nav').getElementsByTagName('a');
for(i=0;i<aObj.length;i++) {
if(document.location.href.indexOf(aObj[i].href)>=0) {
aObj[i].className='active';
}
}
}
window.onload = setActive;
});
提前致谢!
答案 0 :(得分:0)
最简单的最不可思议的方法是将css设置为display:none。您还需要在将类添加回来时将其重新设置为阻止。代码看起来像
//populate the chosenlist
$(document).on('click', '.choosefromlist', function () {
var name = $(this).attr("name");
var id = $(this).attr("id");
var answerCount = $('.answer .chosenlist li').length;
if(answerCount<3){
$('.chosenlist').append('<li class="choice" name="' + name + '" value="' + id + '">' + name + '</li>');
// make this link unclickable
$(this).removeClass('choosefromlist').css('display', 'none');
}
});
//remove options from the chosenlist
$(document).on('click', '.choice', function () {
var name = $(this).attr('value');
$(this).remove();
// make the original link clickable again
$('#' + name).addClass('choosefromlist').css('display', 'block');
});
首选方法是创建一个隐藏它的类,然后添加/删除类,如
.hide {
display: none;
}
li{
list-style:none;
}
$(this).removeClass('choosefromlist').addClass('hide');
...
$('#' + name).addClass('choosefromlist').removeClass('hide');
修改:更新为禁用li
子弹以获得奖励积分&#34; :)