могу ли я использовать строку http с другого веб-сайта, например объекта документа? [Дубликат]

Это не имеет никакого отношения к анимации.

Строки

%matplotlib inline
import matplotlib.pyplot as plt
fig, ax = plt.subplots()

создадут вывод с пустой фигурой.

Вы можете запретить вывод ячейки в jupyter notebook с помощью %%capture .

Cell1:

%%capture
%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib.animation
plt.rcParams["animation.html"] = "jshtml"
import numpy as np

t = np.linspace(0,2*np.pi)
x = np.sin(t)

fig, ax = plt.subplots()
h = ax.axis([0,2*np.pi,-1,1])
l, = ax.plot([],[])

def animate(i):
    l.set_data(t[:i], x[:i])

ani = matplotlib.animation.FuncAnimation(fig, animate, frames=len(t))

Cell2:

ani

1
задан Brock Adams 20 November 2012 в 08:59
поделиться

3 ответа

getElementById не является методом элементов HTML. Это метод узла документа. Как таковой вы не можете сделать:

div.getElementById('foo'); // invalid code

Вы можете реализовать свою собственную функцию для поиска DOM путем рекурсивного прохождения через children. В более новых браузерах вы даже можете использовать метод querySelector. Для минимального развития вы можете использовать библиотеки jQuery или sizzle.js (механизм запросов jQuery).

2
ответ дан slebetman 24 August 2018 в 16:30
поделиться

Используйте DOMParser() , чтобы преобразовать responseText в дерево DOM с возможностью поиска. Кроме того, ваши попытки поиска / использования чего-либо, полученного из responseText, должны происходить внутри функции onload.

Используйте такой код:

GM_xmlhttpRequest ( {
    ...
    onload:     parseAJAX_ResponseHTML,
    ...
} );

function parseAJAX_ResponseHTML (respObject) {
    var parser      = new DOMParser ();
    var responseDoc = parser.parseFromString (respObject.responseText, "text/html");

    console.log (responseDoc.getElementsByTagName('div'));
    console.log (responseDoc.getElementById('result_0'));
}

Конечно, также убедитесь, что узел с id result_0 фактически находится в возвращенном HTML. (Использование Firebug, Wireshark и т. Д.)

4
ответ дан Brock Adams 24 August 2018 в 16:30
поделиться

Нет необходимости хранить ответ в элементе, не используйте DOMParser ()

Просто установите responseType в «document», и ответ будет автоматически проанализирован и сохранен в responseXML

Пример:

var ajax = new XMLHttpRequest();
ajax.open('get','http://www.taringa.net');
ajax.responseType = 'document';
ajax.onload = function(){
    console.log(ajax.responseXML); //And this is a document which may execute getElementById
};
ajax.send();
-1
ответ дан jscripter 24 August 2018 в 16:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: