【问题标题】:Image parsing, formatting, rendering in REACTREACT 中的图像解析、格式化、渲染
【发布时间】:2020-01-12 13:32:45
【问题描述】:

我正在使用 DomParser 将 'text/html' 格式的文档导入到 REACT 中以使用它,到目前为止,所有文本和表格都已使用此方法很好地格式化,但是我无法显示图像起来,因为当我检查图像元素时它没有显示,原因如下:

我的问题是,我将如何制作 img.src = img.data-original ?有没有一种快速的方法可以将原始数据导入 src?

我尝试的是:img.src = img.dataOriginal;这是未定义的。请参阅下面的代码。

function format(file) {
  if(file === null) return; 

  const document = new DomParser().parseFromString(file, 'text/html'); 

  // text table format 
  document.querySelectorAll('table').forEach((table) => {
    table.className = 'table'; 
  }); 

  // img 
  document.querySelectorAll('img').forEach((img) => {
     img.className = 'img'; 
     img.src = img.dataOriginal; // this is undefined - is there a way to get data-original into src?

});

【问题讨论】:

    标签: javascript html reactjs react-redux html-parsing


    【解决方案1】:

    你应该这样做

    function format(file) {
      if(file === null) return; 
    
      const document = new DomParser().parseFromString(file, 'text/html'); 
    
      // text table format 
      document.querySelectorAll('table').forEach((table) => {
        table.className = 'table'; 
      }); 
    
      // img 
      document.querySelectorAll('img').forEach((img) => {
         img.className = 'img'; 
         img.src = img.getAttribute('data-original');
         // or img.src = img.dataset.original;
    });
    
    

    DOMParser 为您返回 DOM,因此您可以像使用常规 DOM(文档对象)一样使用它

    【讨论】:

    • @ToniHe 那你说的DataOriginal是什么意思
    • @ToniHe 是 dataOriginal 的一个自定义属性
    • dataOriginal 来自我检查的 img 标签: 它是自动渲染的,所以每个有一个空的 src="",但是一个数据原始文件有文件的路径,这就是为什么我想知道如何将数据原始文件提取到 src 中。
    • @ToniHe 好的,对不起,现在我明白了你的问题,我编辑了我的答案,这样它就可以工作了
    猜你喜欢
    • 1970-01-01
    • 2022-10-17
    • 1970-01-01
    • 2020-06-15
    • 2016-02-21
    • 2020-09-28
    • 2018-03-23
    • 2022-01-02
    • 1970-01-01
    相关资源
    最近更新 更多