好的,所以我在这里是一个小菜鸟,我认为我的术语可能有误,所以请随意纠正我(我需要学习)。
我想在常见问题解答页面上创建更好的用户体验,并询问用户该问题是否有用。如果没有提供替代品。我正在尝试将一个类添加到包含该问题的div中。
这是一个小提琴示例:https://jsfiddle.net/u596vwwn/
这是jQuery:
$(document).ready(function() {
$('.faq-question').click(function() {
var question = $(this).attr('href');
question = question.replace('#', '');
var questionData = document.getElementById(question).innerHTML;
document.getElementById(question).innerHTML = questionData + '<div class="row further-help">Did this answer your question? <span id="further-help-yes">Yes</span> | <span id="further-help-no">No</span></div>';
});
$('body').on('click', '#further-help-yes', function() {
$(this).parent('.further-help').fadeOut();
});
$('body').on('click', '#further-help-no', function() {
$(this).parent('.further-help').html('Please contact us <a href="#">here</a>.');
});
});
当用户点击小提琴中的链接时,我想要什么。然后问题的div容器会添加一个类,以便我可以设置样式。
我尝试了这样的元素:
var questionContainer = document.getElementById(question);
然后添加一个类似的类:
questionContainer.addClass('selected-faq');
但它没有添加它。
答案 0 :(得分:3)
那是因为questionContainer
不是jQuery元素,而是使用普通JS(getElementById
)选择的。试试这个:
var $questionContainer = $(question);
$questionContainer.addClass('selected-faq');
答案 1 :(得分:0)
您似乎通过在jQuery和普通Javascript之间切换来混淆自己。坚持使用jQuery来保持简单。
$('.faq-question').click(function() {
var question = $($(this).attr('href'));
question.append('<div class="row further-help">Did this answer your question? <span id="further-help-yes">Yes</span> | <span id="further-help-no">No</span></div>');
question.addClass('selected-faq');
});