Сначала, в вашем цикле for
, добавьте вызов к validate
. Затем в validate
добавьте замену текста:
var elems = document.body.getElementsByTagName("*");
for (i = 0; i < elems.length; i += 1) {
if (elems[i].innerHTML.indexOf('<script') != -1){
console.log(elems[i]);
} else {
validate(elems[i]);
}
}
function validate(element){
if(element.indexOf('<div') == -1){
return false;
} else if(element.indexOf('<script') == -1){
return false;
} else {
element.innerText = element.innerText.replace("t", "p"); //Add the others as well
}
}
Может быть я наблюдаю за чем-то, но все, что Вы хотите, может быть выполнено с шаблонной системой django. Все расширяется, вызовы относительно шаблонных каталогов.
Для всех файлов base.html в подкаталогах для расширения base.html просто необходимо поместить a {% extends "base.html" %}
в файлы. section1/base.html был бы быть похожим на это.
{% extends "base.html" %}
{# ... rest of your code ...#}
Теперь, чтобы заставить файлы от section1 расширять section1/base.html просто необходимо поместить {% extends "section1/base.html" %}
наверху их. То же для section2, section3 и так далее.
Это просто настолько просто, но не мог бы полностью очевидный в документации.
Я надеюсь, я понял Ваш вопрос.
Принятый ответ будет работать, но я действительно рекомендую использовать имена переменной для отслеживания структуру раздела. Мое персональное предпочтение было бы процессором контекста. Если, например, организация раздела Вашего сайта прозрачно отражается в URL, попробуйте что-то как:
# It may be convenient to make this function live in or near your url conf.
def convert_url_path_to_folder_path(path):
# fill in the magic here
def sub_folder_available(request):
folder = convert_url_path_to_folder_path(request.path)
return {'subsection': folder, 'local_base':folder+'/base.html'}
Затем в Вашем шаблоне, просто звоните
{% extends local_base %}
Существует, вероятно, дюжина других способов сделать это, но главное состоит в том, чтобы думать о предотвращении жесткого кодирования имя папки в шаблон. Это получит Вас большой пробег, тем более, что можно просто перетащить шаблон между разделами, если они, оказывается, достаточно подобны. Другая вещь Вы могли бы добавить вставку:
def sub_folder_available(request):
folder = convert_url_path_to_folder_path(request.path)
# Check if local base exists:
if os.access(folder+'/base.html',os.F_OK):
base = folder+'/base.html'
else:
# revert to your global base
base = 'base.html'
return {'subsection': folder, 'base':base}
Хорошее преимущество этой стратегии состоит, конечно в том, что можно разбудить раздел в наилегчайшем весе и работающий без любого локального основного шаблона вообще.