Thao tác với IE, Inner là gì?

Euler

Administrator
Thành viên BQT
Tôi giải đáp của bạn @dkkx3a ở đây.
Lý do bạn bị nhắc nhở:
1. Bạn viết một bài hỏi đáp vào một topic học thuật. Trên diễn đàn có hai box để hỏi đáp.
Bạn cần đăng nhập để thấy hình ảnh

Bạn nên viết các câu hỏi đáp nếu có vào trong hai box này. Các box học thuật là nơi thao diễn kiến thức hoặc phát triển kiến thức lên mức cao hơn.

2. Bạn không cho nội dung vào trong thẻ code.
Xin xem mục 4 trong .

Câu hỏi của bạn:
Mình đang cố thực hành theo hướng dẫn bài này, mình có đoạn mã html như sau:
HTML:
<p id="h.p_gw36Q6EjR1Wc" class="zfr3Q" style="text-align: center;">
<strong>Ver_20200602</strong>
</p>
Trong đó id kia là duy nhất, mình muốn lấy được thông tin chữ Ver_20200602 thì làm như thế nào ạ?

===============
Admin tuhocvba đã trả lời bạn. Tuy nhiên, có vẻ như bạn chưa hiểu vấn đề.
Inner:
Bạn cần đăng nhập để thấy hình ảnh

Khi dùng Inner thì bạn lấy nội dung Element bên trong thẻ.
Cụ thể trong trường hợp của bạn thì thông qua
objIE.document.getElementById("h.p_gw36Q6EjR1Wc ").innerText

sẽ lấy được nội dung nằm bên trong thẻ <p> ....</p> tức là sẽ lấy được:
Bạn cần đăng nhập để thấy hình ảnh

Bạn sẽ thu được :
Mã:
s = <strong>Ver_20200602</strong>
Vì bạn muốn lấy Ver_20200602, giả thiết nội dung này có độ dài không biết trước. Tuy nhiên cấu trúc trên có hai cái bất biến.
Thứ nhất là nó luôn bắt đầu bằng thẻ <strong>, chiếm 8 ký tự. Do đó ký tự cần lấy sẽ bắt đầu là ký tự thứ 9. Ký tự kết thúc được xác định là dấu đóng thẻ strong, tức là dấu <.
Bạn cần đăng nhập để thấy hình ảnh

Vì vậy:
Để xác định vị trí số 21 như trong hình, ta có:
Mã:
n = InStrRev(s, "<", , vbTextCompare)
Như vậy, kết quả mà bạn cần lấy sẽ được thể hiện qua công thức:
Mã:
ketqua = Mid(s,9, n-9) ' = Ver_20200602
Để trình bày lời giải đáp này, tôi cần biên tập hình ảnh và gõ chữ, mất rất nhiều thời gian. Trong giới hạn thời gian của mình, admin tuhocvba đã giải đáp cho bạn. Tuy nhiên, có lẽ kiến thức của bạn quá yếu, vì vậy đã được nhắc nhở, đọc bài viết trên diễn đàn để thu lấy kiến thức, có cơ sở để thảo luận với mọi người.
Bạn cũng có thể nói "Kiến thức của em còn yếu"-OK, trên diễn đàn không ai có trách nhiệm phải giải đáp cho bạn, vì mọi người không có nhiều thời gian. Trê diễn đàn có box , bạn có thể vào đó và hỏi và bạn cần hỗ trợ diễn đàn một khoản tài chính để diễn đàn hoạt động, sự tương tác hai bên đều có lợi sẽ được khuyến khích.

Bạn có một năm chỉ đọc bài viết và không được thực hiện hỏi đáp nào. Chúc bạn có một năm thu hoạch nhiều kiến thức.
 
Top