Ich habe einen JQuery-Code, der den Elementtyp beim Klicken und Zurück ändert, wenn der Benutzer auf das Element außerhalb des Elements klickt.Elementtyp beim Klicken umschalten
Das Problem ist, dass aus irgendeinem Grund in CodePen überhaupt nicht auf Klick ändert, aber in der ursprünglichen Website tut das nur einmal dann nichts.
Die HTML
<div>
<span class="input-group-btn">
<button type="submit" class="btn btn-primary"><span class="btn"aria-hidden="true">Go</span></button>
</span>
</div>
Javascript:
jQuery(document).ready(function() {
$.fn.changeElementType = function(newType) {
var attrs = {};
$.each(this[0].attributes, function(idx, attr) {
attrs[attr.nodeName] = attr.nodeValue;
});
this.replaceWith(function() {
return $("<" + newType + "/>", attrs).append($(this).contents());
});
}
$('.input-group-btn button').changeElementType('div');
$(function() {
$(".input-group div").on("click", function(e) {
$('.input-group-btn div').changeElementType('button');
e.stopPropagation()
});
$(document).on("click", function(e) {
if ($(e.target).is(".input-group input") === false) {
$('.input-group-btn button').changeElementType('div');
}
});
});
});
ist hier der Stift: http://codepen.io/florinsimion/pen/AXxKbG
Irgendwelche Ideen?
Auf der Konsole: 'pen.js: 4 Uncaught TypeError: Kann Eigenschaft 'Attribute' von undefined nicht lesen – vaso123