jak*_*ine 0 javascript dom prototypejs
使用Prototype,我试图从DOM中提取一段文本 - 这通常是一个简单的$().innerHTML工作,但HTML是嵌套的.
<td class="time-record">
<script type="text/javascript">
//<![CDATA[
document.write('XXX ago'.gsub('XXX', i18n_time_ago_in_words(1229311439000)));
//]]>
</script>
about 11 months ago by <span class="author"><strong>Justin</strong></span>
</td>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,innerHTML将会选择JavaScript,这将导致各种问题.
在没有JavaScript的情况下提取的最佳/最有效/最快的方法是about 11 months ago by <span class="author"><strong>Justin</strong></span>什么?
使用innerHTML,并通过stripScripts运行它:
var html = $$('td.time-record')[0].innerHTML.stripScripts()
Run Code Online (Sandbox Code Playgroud)
这对于获取单个单元格的html非常有用.对所有td.time-record元素执行相同操作的更通用的解决方案是:
$$('td.time-record').pluck('innerHTML').invoke('stripScripts');
Run Code Online (Sandbox Code Playgroud)
这将返回给你一个每个单元格的html(<script>删除元素)的数组,然后你可以.join('')或迭代.
| 归档时间: |
|
| 查看次数: |
1454 次 |
| 最近记录: |