我正在使用import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.*;
import java.awt.Dimension;
public class Main
{
public static void go()
{
JFrame fr = new JFrame();
JLayeredPane lpane = new JLayeredPane();
JPanel p = new JPanel();
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();
int size = 120;
p.setSize(500, 500);
p.setLayout(new BoxLayout(p, BoxLayout.PAGE_AXIS));
p2.setSize(500, 500);
p2.setLayout(new BoxLayout(p2, BoxLayout.PAGE_AXIS));
p2.setOpaque(false);
p3.setSize(500, 500);
p3.setLayout(new BoxLayout(p3, BoxLayout.PAGE_AXIS));
p3.setOpaque(false);
final int frHEIGHT = 500;
final int frWIDTH = 500;
fr.setSize(frWIDTH, frHEIGHT);
BodyComponent bC = new BodyComponent(frWIDTH, frHEIGHT, size);
BackgroundComponent bkC = new BackgroundComponent(frWIDTH, frHEIGHT, size);
//initializing LegComponent params
double x = frWIDTH/3;
double y = frHEIGHT/2;
double setX = x+size/2;
double setY = y+size/2;
LegsComponent lC = new LegsComponent(x, y, size, setX, setY);
p.add(bkC);
p2.add(bC);
p3.add(lC);
lpane.setBounds(0, 0, 500, 500);
lpane.add(p, new Integer(0));
lpane.add(p2, new Integer(2));
lpane.add(p3, new Integer(1));
fr.getContentPane().add(lpane);
fr.setVisible(true);
for (int i = 45; i > 0; i--){
JPanel P3 = new JPanel();
JLayeredPane lPane = new JLayeredPane();
double n = .01111*i;
lPane.removeAll();
LegsComponent lC2 = new LegsComponent(x+n, y+n, size, setX, setY);
fr.getContentPane().removeAll();
P3.add(lC2);
P3.setOpaque(false);
lPane.add(p, new Integer(0));
lPane.add(p2, new Integer(2));
lPane.add(P3, new Integer(1));
fr.getContentPane().add(lPane);
fr.setVisible(true);
Tools.pause(100);
}
}
}
从document.getElementById
获取innerHTML
。它会返回这样的东西......
<div>
我想使用Javascript从该字符串中提取“Unit 1,Lesson 2”部分。但它并不总是“单元1,第2课”。它可能是“第10单元,第8课”,因此使用<span style="font-size: 18px; font-weight:bold; color: #545454;">Unit 1, Lesson 2: Ordering Large Numbers</span>
似乎已经出局了。
期望的结果......
substring()
应该产生“第1单元,第5课”
<span style="font-size: 18px; font-weight:bold; color: #545454;">Unit 1, Lesson 5: Ordering Large Numbers</span>
应该产生“第11单元,第28课”
我对Javascript一点都不擅长,所以如果我错过了一个简单的功能,请告诉我它是什么。
编辑:或者,如果有办法在“:”之后切断所有内容,我也可以使用它。
答案 0 :(得分:2)
您可以使用textContent,它只返回没有html的文本。
所以如果你有元素:
<span id="test"><span style="font-size: 18px; font-weight:bold; color: #545454;">Unit 1, Lesson 2: Ordering Large Numbers</span></span>
你可以得到它的'第1单元,第2课'部分:
document.getElementById('test').textContent.split(":")[0];
答案 1 :(得分:1)
您可以使用javascript的正则表达式模式匹配功能:
var pattern = /.*(Unit \d+, Lesson \d+):/
var el = document.getElement....innerHTML
var match = pattern.match(el)[1];
alert(match)