【问题标题】:changing the data of the element改变元素的数据
【发布时间】:2011-06-27 08:44:50
【问题描述】:

我需要更改 HTML 文件中的一些信息,并且我设法使用 JSOUP 访问元素。但是,我在尝试修改以下样式元素时遇到了问题:

<style type="text/css">
#leftimage {
    background: #FFFCEF 
        url("/image1.jpg");
}

</style>

我使用了以下代码

Element txt=doc.select("style").first();
String t=txt.data();
String s=" #leftimage { background: #FFFCEF url('/image1.jpg');}";
txt.data().replace(t, s);

但没有任何改变!为什么我这样做时颜色没有变化?

【问题讨论】:

    标签: java css-selectors jsoup


    【解决方案1】:

    Java 中的字符串是不可变的。你不能改变它。在您的情况下, replace() 不会更改现有文本,而是使用替换数据返回新文本(请阅读 Javadoc)。

    实际上看看你想要做什么,运行 replace 也没有太大意义(它用你运行它的字符串中的任何出现的 t 替换 s)。您基本上想要替换元素的整个文本,因此您很可能需要执行以下操作:

    txt.text(" #leftimage { background: #FFFCEF url('/image1.jpg');}");
    

    【讨论】:

      猜你喜欢
      • 2021-11-04
      • 1970-01-01
      • 1970-01-01
      • 2021-03-19
      • 2018-08-29
      • 1970-01-01
      • 1970-01-01
      • 2014-12-27
      • 2014-11-02
      相关资源
      最近更新 更多