我有一个场景,在我的MVC应用程序中,我需要将所有带有“银行名称”文本的标签替换为“供应商名称”。 “银行名称”标签在各个页面中都有使用,因此查找和替换所有内容对于我来说很繁琐,因为将来可能再次需要用其他一些文本来更改“供应商名称”。 只是要添加,所有标签都具有不同的ID和名称。 因此,我正在考虑使用jquery来执行此操作,就像我可以找到包含“银行名称”的标签,div,td并将其替换为“供应商名称”一样。
def to_disable_flash_chrome():
time.sleep(3)
chrome_options = webdriver.ChromeOptions()
prefs = {"profile.default_content_setting_values.plugins": 1,
"profile.content_settings.plugin_whitelist.adobe-flash-player": 1,
"profile.content_settings.exceptions.plugins.*,*.per_resource.adobe-flash-player": 1,
"PluginsAllowedForUrls": "http://www.zombo.com/"
}
chrome_options.add_experimental_option("prefs", prefs)
browser = webdriver.Chrome(chrome_options=chrome_options)
browser.get("http://www.zombo.com/")
time.sleep(30)
但是我担心的是,我有一些通过jquery生成的表和div,我需要上面的函数document.ready,它只会在页面加载时调用,而不是在生成动态表div时调用。 我想让此功能适用于动态元素,这些动态元素可能会在单击按钮时出现并包含“银行名称”,我无法真正去每个按钮单击js并调用特定函数来替换文本。 可以动态完成吗?谢谢
答案 0 :(得分:0)
这可能对您有帮助,您可以使用setInterval方法,它将每秒触发一次并查找和替换文本 http://jsfiddle.net/2EvGF/4214/
setInterval(function(){
// call your function
},1000)
<div id="id1">
<p>
apple
</p>
<p>
ball
</p>
<p>
cat
</p>
<p>
dog
</p>
</div>
$('#id1 p').each(function() {
var text = $(this).text();
$(this).text(text.replace('dog', 'doll'));
});
答案 1 :(得分:-1)
希望这对您有所帮助。通过使用包含,您可以搜索文本并将其替换。
$('div:contains(“ test”)')。text(“新单词”);
如果您需要更多详细信息,请告诉我。