JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<button id="wiki" data-subject="Paris">Wikipedia</button>
<output id="results">
<ul>
</ul>
</output>
<div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
</div>
</div>
</div>
CSS
.modal-title,
.modal-body {
visibility: hidden;
}
JavaScript
$("#wiki").one('click', function(e) {
var articleName = $(this).data('subject');
$.getJSON("https://en.wikipedia.org/w/api.php?callback=?", {
srsearch: articleName,
action: "query",
list: "search",
format: "json"
}, function(data) {
$("#results ul").empty();
$("#results ul").append("<h3>Results for <b>" + articleName + "</b></h3>").text();
$.each(data.query.search, function(i, item) {
$("#results").append("<div class='list-group'><a class='list-group-item' href='https://en.wikipedia.org/wiki/" + encodeURIComponent(item.title.replace(" ", "_")) + "' data-toggle='modal' data-target='.bs-example-modal-lg'><h4>" + item.title.replace(" ", "_") + "</h4><p class='list-group-item-text'>" + item.snippet + "</p></a></div>");
$("#results div a").attr("href", "#");
});
$('.modal').on('show.bs.modal', function (e) {
$.getJSON("https://en.wikipedia.org/w/api.php?action=parse&format=json&callback=?", {
page: $(e.relatedTarget).find('h4').text(),
prop:"text"
}, function(data) {
$(".modal-content").html(data.parse.text['*']);
saveWiki();
});
});
});
function saveWiki() {
$('.modal-body').find().children().on("mouseover", function() {
$("this").css("background-color", "yellow");
});
};
});