"Cannot read property "classList " null", wenn mit classList.hinzufügen
Ich bin mit diesem Fehler, aber da bin ich nicht vertraut mit dem code. Es kam von einem Thema in startbootstrap (Creative). Die Datei ist
classie.js
code:
/*!
* classie - class helper functions
* from bonzo https://github.com/ded/bonzo
*
* classie.has( elem, 'my-class' ) -> true/false
* classie.add( elem, 'my-new-class' )
* classie.remove( elem, 'my-unwanted-class' )
* classie.toggle( elem, 'my-class' )
*/
/*jshint browser: true, strict: true, undef: true */
/*global define: false */
( function( window ) {
'use strict';
//class helper functions from bonzo https://github.com/ded/bonzo
function classReg( className ) {
return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
}
//classList support for class management
//altho to be fair, the api sucks because it won't accept multiple classes at once
var hasClass, addClass, removeClass;
if ( 'classList' in document.documentElement ) {
hasClass = function( elem, c ) {
return elem.classList.contains( c );
};
addClass = function( elem, c ) {
elem.classList.add( c );
};
removeClass = function( elem, c ) {
elem.classList.remove( c );
};
}
else {
hasClass = function( elem, c ) {
return classReg( c ).test( elem.className );
};
addClass = function( elem, c ) {
if ( !hasClass( elem, c ) ) {
elem.className = elem.className + ' ' + c;
}
};
removeClass = function( elem, c ) {
elem.className = elem.className.replace( classReg( c ), ' ' );
};
}
function toggleClass( elem, c ) {
var fn = hasClass( elem, c ) ? removeClass : addClass;
fn( elem, c );
}
var classie = {
//full names
hasClass: hasClass,
addClass: addClass,
removeClass: removeClass,
toggleClass: toggleClass,
//short names
has: hasClass,
add: addClass,
remove: removeClass,
toggle: toggleClass
};
//transport
if ( typeof define === 'function' && define.amd ) {
//AMD
define( classie );
} else {
//browser global
window.classie = classie;
}
})( window );
der Fehler ist in:
elem.classList.add( c );
Ich bin nicht vertraut mit dem code geschrieben. Schließe ich diese Datei zusammen mit anderen js Dateien. Und es scheint, dass der anderen js-Datei muss die variable classie.
BEARBEITET:
HIER IST DIE FEHLERMELDUNG IN DER KONSOLE:
Uncaught TypeError: Cannot read property 'classList' of null
addClass @ classie.js?nngrmm:33
scrollPage @ cbpAnimatedHeader.js?nngrmm:30
AUßERDEM habe ich einen Fehler in bootstrap.js.
Uncaught TypeError: $(...).find(...).once is not a function
Drupal.behaviors.bootstrap.attach @ bootstrap.js?nngrmm:16
(anonymous function) @ drupal.js?nngrmm:76
x.extend.each @ jquery.min.js?v=1.10.2:4
Drupal.attachBehaviors @ drupal.js?nngrmm:74
(anonymous function) @ drupal.js?nngrmm:412
x.Callbacks.c @ jquery.min.js?v=1.10.2:4
x.Callbacks.p.fireWith @ jquery.min.js?v=1.10.2:4
x.extend.ready @ jquery.min.js?v=1.10.2:4
q @ jquery.min.js?v=1.10.2:4
Irgendwo hier:
/**
* @file
* bootstrap.js
*
* Provides general enhancements and fixes to Bootstrap's JS files.
*/
var Drupal = Drupal || {};
(function($, Drupal){
"use strict";
Drupal.behaviors.bootstrap = {
attach: function(context) {
//Provide some Bootstrap tab/Drupal integration.
$(context).find('.tabbable').once('bootstrap-tabs', function () {
var $wrapper = $(this);
var $tabs = $wrapper.find('.nav-tabs');
var $content = $wrapper.find('.tab-content');
var borderRadius = parseInt($content.css('borderBottomRightRadius'), 10);
var bootstrapTabResize = function() {
if ($wrapper.hasClass('tabs-left') || $wrapper.hasClass('tabs-right')) {
$content.css('min-height', $tabs.outerHeight());
}
};
//Add min-height on content for left and right tabs.
bootstrapTabResize();
//Detect tab switch.
if ($wrapper.hasClass('tabs-left') || $wrapper.hasClass('tabs-right')) {
$tabs.on('shown.bs.tab', 'a[data-toggle="tab"]', function (e) {
bootstrapTabResize();
if ($wrapper.hasClass('tabs-left')) {
if ($(e.target).parent().is(':first-child')) {
$content.css('borderTopLeftRadius', '0');
}
else {
$content.css('borderTopLeftRadius', borderRadius + 'px');
}
}
else {
if ($(e.target).parent().is(':first-child')) {
$content.css('borderTopRightRadius', '0');
}
else {
$content.css('borderTopRightRadius', borderRadius + 'px');
}
}
});
}
});
}
};
Fehler in:
$(Kontext).find('.tabbable').einmal('bootstrap-tabs", function () {
Hilfe brauchen. Danke.
Irgendwo etwas versucht auf die Eigenschaft
die
das ist die Fehlermeldung
Nach der gründlichen Suche nach der Antwort stieß ich das gleiche problem wie ich. stackoverflow.com/questions/25884754/...
classList
einer null
Objekt, zum Beispiel document.geyElementById('nonexisting').classList.add('foo')
werfen würde dieser Fehler, wenn es kein element mit der entsprechenden ID.die
elem
, das ist die, die ich Suche. Ich weiß nicht, Woher es kam. Dokument.documentElement gibt mein ganzes html-markups.das ist die Fehlermeldung
Nach der gründlichen Suche nach der Antwort stieß ich das gleiche problem wie ich. stackoverflow.com/questions/25884754/...
InformationsquelleAutor bpunzalan | 2015-04-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich lief in das gleiche Problem heute aber für ein anderes Thema und wollte nach meiner Auflösung, um anderen zu helfen in der Zukunft.
Das Problem mit cbpAnimatedHeader.js Datei. Diese Datei definiert die "scrollPage" - Funktion, die Anrufe auf die "classie" - Funktion. Das ist, warum Sie zunächst zu sehen, dass der Fehler mit dem classie.js Datei. In der scrollPage Funktion, die variable "header" verwendet wird:
Jedoch, der header ist nicht so definiert, dass die scrollPage Funktion Lesen kann. Um den Fehler zu beheben, können Sie entweder definieren header-weltweit oder innerhalb der scrollPage Funktion. Ich wählte einfach das zu kopieren, der variable-definition in der Funktion. Hier ist das Endergebnis in cbpAnimatedHeader.js:
War mein Haar ziehen an dieser, nice one!!
InformationsquelleAutor Ercunningham
Merkte ich, dass mein Problem war, ich zog die cbpAnimatedHeader.js Datei von der Unterseite des Körpers auf den Kopf. Da dieser header war null, weil die html-noch nicht gerendert, noch.
Anstatt der header-lookup, um die scrollPage Funktion wickelte ich das ganze in ein jQuery-Dokument bereit.
Danke, es ist mein problem gelöst !
InformationsquelleAutor user3137534
Hinzufügen meine Lösung hier war ich immer der exakt gleiche Fehler, aber es hatte nichts zu tun mit der tatsächlichen Classie plugin.
War ich mit dem script von hier, um schrumpfen der oberen Menü auf "meine Website" auf Blättern: http://callmenick.com/post/animated-resizing-header-on-scroll.
Fügte ich zusätzliche Elemente auf der Seite benötigt, die
.smaller
- Klasse Hinzugefügt, um Sie, als würden Sie auch nach oben verschieben und verkleinern, wenn gescrollt werden, um bis zu dem kleineren Menü. Ich war das hinzufügen von responsive-Elemente als auch, dass waren NICHT immer definiert, innerhalb der angegebenen Seite. Das war das problem, ich hatte versucht, verwenden Sie die Funktion addClass in Classie auf einige ansprechende Elemente, die eigentlich nicht existieren, wenn das scrollen, so würde das werfen eine Handvoll dieser Fehler jedes mal, wenn die Seite gescrollt wurde.So implementiert habe ich eine überprüfen, um sicherzustellen, dass die responsive-Elemente existieren, bevor Sie versuchen, fügen Sie die
.smaller
Klasse zu Ihnen.Aus:
:
InformationsquelleAutor tatorface