2016-06-25 6 views
0

ich diesen Arbeits Code in Wordpress bewegt und vonSwitched-Version von jQuery und jetzt Uncaught Typeerror erhalten: Kann nicht Eigentum lesen 'ersetzen'

http://code.jquery.com/jquery-1.11.3.min.js

zu Wordpress-Embedded-Version von jQuery v1.12.4

und ich jetzt eine nicht abgefangene Typeerror erhalten: Kann nicht Eigentum ‚ersetzen‘ undefinierter

<div class="meter"> 
    <span style="width:50%"></span> 
    <p></p> 
</div> 

var bar = $('span'); 
var p = $('p'); 

var width = bar.attr('style'); 
width = width.replace('width:', ''); 
width = width.substr(0, width.length-1); 


var interval; 
var start = 0; 
var end = parseInt(width); 
var current = start; 

var countUp = function() { 
    current++; 
    p.html(current + '% completed); 

    if (current === end) { 
    clearInterval(interval); 
    } 
}; 

interval = setInterval(countUp, (1000/(end + 1))); 

lesen Was bin ich mit der Version ch fehlt Ange?

+1

Die Ersetzungsfunktion in diesem Code läuft für mich gut. Könnte es auf Ihrer HTML-Seite mehr als einen Bereich geben? Geben Sie möglicherweise eine ID für den Bereich an und erhalten Sie dann die Breite für den Bereich mit dieser spezifischen ID. https://jsfiddle.net/ts7hj8ks/1/ –

Antwort

0

@TheShaman hat den Grund für den Fehler gefunden. Es ist nicht das Upgrade von jQuery, sondern die Einführung eines anderen span, das das Problem verursacht. Wenn ein früherer span, der von Ihrem Selektor abgeholt wird, kein style-Attribut aufweist, erhalten Sie die Fehlermeldung, die Sie melden. Machen Sie Ihren Selektor restriktiver, um das Problem zu beheben:

var bar = $('.meter span'); 
+0

Ich dachte, dass im Voraus und versuchte Hinzufügen von .meter span Ich habe auch versucht, eine Klasse zum span-Tag hinzuzufügen. Es stirbt immer noch am .replace. – Jason

Verwandte Themen