@staticmethod
просто отключает функцию по умолчанию как дескриптор метода. classmethod обертывает Вашу функцию в контейнер, вызываемый, который передает ссылку на класс владения как первый аргумент:
>>> class C(object):
... pass
...
>>> def f():
... pass
...
>>> staticmethod(f).__get__(None, C)
<function f at 0x5c1cf0>
>>> classmethod(f).__get__(None, C)
<bound method type.f of <class '__main__.C'>>
, На самом деле, classmethod
имеет время выполнения наверху, но позволяет получить доступ к классу владения. Кроме того, я рекомендую использовать метакласс и поместить методы класса для того метакласса:
>>> class CMeta(type):
... def foo(cls):
... print cls
...
>>> class C(object):
... __metaclass__ = CMeta
...
>>> C.foo()
<class '__main__.C'>
Попробуйте выполнить:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<script src="scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(
function() {
$('#previous_purchases').click(function() {
var what = $(this).html().replace(/<br>/, '\n');
$('#purchased').html(what);
});
});
</script>
</head>
<body>
<div id="previous_purchases">blah blah blah<br />blah blah</div>
<textarea id="purchased" cols="25" rows="10"></textarea>
</body>
</html>
Вместо вызова функции text () вы можете использовать html () и отформатированный по пути текст к нему.
$('#previous_purchases').click(function(){
var what = $(this).text();
$('#purchased').html(what);
});
text () автоматически удаляет HTML-код. Так что в основном вы захотите использовать html () вместо текста и заменить
на \ n