동일한 클래스의 모든 요소에 대해 JS 코드 실행

DiMuChr

새 가격이있는 여러 제품이있는 장바구니 페이지가 있습니다. 이제 JS를 사용하여 고객이 얼마나 절약 할 수 있는지 보여주고 싶습니다. 이를 위해 JS에 대한 기본적인 지식을 사용하여 이전 가격과 새 가격을 변수에 쓰고 "€"와 같이 원하지 않는 항목을 대체하고 수학을 수행합니다. 그런 다음 특정 텍스트와 고객이 저장할 수있는 금액으로 새 div를 만듭니다. 내가 성취하고 싶은 것은 그가 모든 제품 아래에 그것을 쓴다는 것입니다.

스 니펫에서 알 수 있듯이 그는 첫 번째 제품에 대해서만 수행합니다. 카트에있는 모든 제품에 대해 코드를 작성하는 루프 또는 기타 작업이 필요합니다. ㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ ㅇㅇㅇ 지금까지 2 시간 동안 검색했지만 힌트를 찾을 수 없었습니다. 너희들과 여자애들이 나를 도울 수 있을지도 몰라.

var neuerpreis = document.querySelector(".price.price--reduced").childNodes[2].nodeValue.replace(/,/g, '.').replace(/ /g, '');

var alterpreis = document.querySelector(".price.price--reduced .price__old").childNodes[2].nodeValue.replace(/,/g, '.').replace(/ /g, '');


var difference = (alterpreis - neuerpreis).toFixed(2);


var newDiv = document.createElement("div");
var newContent = document.createTextNode(("You save ") + difference + (" €"));
newDiv.appendChild(newContent);
document.querySelector(".cart-item__price").appendChild(newDiv);
<div class="cart-item ">
  <div class="cart-item__row">
<div class="cart-item__image">
  <div class="cart-item__details">
    <div class="cart-item__details-inner">
      <div class="cart-item__price">
        <div class="price price--reduced">
          <span class="price__currency">€</span>&nbsp;66,95<span class="price__old">
            <span class="price__currency">€</span>&nbsp;79,00</span>
        </div>
      </div>
    </div>
  </div>
</div>
  </div>
</div>

<div class="cart-item ">
  <div class="cart-item__row">
<div class="cart-item__image">
  <div class="cart-item__details">
    <div class="cart-item__details-inner">
      <div class="cart-item__price">
        <div class="price price--reduced">
          <span class="price__currency">€</span>&nbsp;100,95<span class="price__old">
            <span class="price__currency">€</span>&nbsp;79,00</span>
        </div>
      </div>
    </div>
  </div>
</div>
  </div>
</div>

플 룽잔

querySelecetorAll 및 상대 주소 지정을 사용할 수 있습니다.

.cart-item__price를 관련 컨테이너로 선택합니다.

그런 다음 일부 콘텐츠를 기본값으로 설정합니다.

참고 프레젠테이션하기 전까지는 문자열 (toFixed)로 변환하지 않습니다.

여기에서 INTL 번호 포맷터를 사용할 수도 있습니다.

[...document.querySelectorAll(".cart-item__price")].forEach(div => {
  const neuerpreis = div.querySelector(".price--reduced").childNodes[2].nodeValue.replace(/,/g, '.').replace(/&nbsp;/g, '');
  const alterpreis = div.querySelector(".price__old").childNodes[2].nodeValue.replace(/,/g, '.').replace(/&nbsp;/g, '');
  const difference = alterpreis - neuerpreis;
  let newContent = document.createTextNode("No savings on this product")
  const newDiv = document.createElement("div");
  if (difference > 0) {
    newContent = document.createTextNode(("You save ") + difference.toFixed(2) + (" €"));
  }
  newDiv.appendChild(newContent);

  div.appendChild(newDiv);

})
<div class="cart-item ">
  <div class="cart-item__row">
    <div class="cart-item__image">
      <div class="cart-item__details">
        <div class="cart-item__details-inner">
          <div class="cart-item__price">
            <div class="price price--reduced">
              <span class="price__currency">€</span>&nbsp;66,95
              <span class="price__old">
                <span class="price__currency">€</span>&nbsp;79,00
              </span>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

<div class="cart-item ">
  <div class="cart-item__row">
    <div class="cart-item__image">
      <div class="cart-item__details">
        <div class="cart-item__details-inner">
          <div class="cart-item__price">
            <div class="price price--reduced">
              <span class="price__currency">€</span>&nbsp;100,95<span class="price__old">
            <span class="price__currency">€</span>&nbsp;79,00</span>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

arraylist의 모든 요소에 대한 Java 실행 메소드

분류에서Dev

ElasticSearch의 여러 인덱스 아래에있는 모든 필드에 대해 정확한 구문 일치 실행

분류에서Dev

Java 클래스에 대해 동일한 클래스의 메소드를 모의하는 방법을 Spock

분류에서Dev

클릭 한 요소에 대한 탭 변경, 동일한 클래스의 모든 요소가 아님

분류에서Dev

동일한 스레드 NUnit에서 모든 테스트 실행

분류에서Dev

onclick은 내 모든 요소에 대해 자동으로 실행되지만 클릭 한 요소에서는 실행되지 않습니다.

분류에서Dev

Elixir / Phoenix-테스트 실행 초기에 코드 실행, 모든 테스트에 대한 공유 데이터

분류에서Dev

배열의 모든 요소에 대해 함수 실행

분류에서Dev

모든 사이트에 대한 Angular 실행 jQuery 코드

분류에서Dev

디렉터리의 모든 파일에 대해 R 코드를 실행하고 모든 파일을 별도의 디렉터리에 출력합니다.

분류에서Dev

모든 DerivedClass에 대해 BaseClass에 대한 테스트 실행

분류에서Dev

클래스가 다른 모든 요소에 대해 클릭시 JS 코드를 적용하는 방법은 무엇입니까? (Bootstrap의 Accordion에서 하나의 요소를 열어 둡니다.)

분류에서Dev

Do until Loop는 테이블의 모든 레코드에 대한 이메일을 실행하지 않습니다.

분류에서Dev

이름이나 클래스의 모든 요소 대신 테이블 행의 현재 자식에 대해 작업

분류에서Dev

MS 액세스 : 하위 하위 폼의 모든 인스턴스에 대해 코드 실행

분류에서Dev

MySQL-동일한 열의 모든 레코드에 대해 계산할 열의 최대 값

분류에서Dev

Mockito : 클래스의 모든 인스턴스에 대한 모의 인스턴스 메소드

분류에서Dev

디렉토리의 모든 파일에 대해 명령 실행

분류에서Dev

디렉토리의 모든 파일에 대해 명령 실행

분류에서Dev

모든 하위 디렉터리의 모든 파일에 대해 검사 실행

분류에서Dev

클래스의 모든 메서드에서 동일한 기대를 잡습니다.

분류에서Dev

동일한 코어에서 실행되는 모든 프로세스

분류에서Dev

django 모델의 동일한 모델 클래스에 대한 anytomany 필드 및 foreignkey

분류에서Dev

typescript의 모든 요소에 대해 find 메소드를 사용하여 클래스 배열 속성 값 변경

분류에서Dev

모듈의 클래스에 대한 활성 레코드 조인

분류에서Dev

한 행에서 일대 다 관계의 모든 레코드 가져 오기

분류에서Dev

파이썬에서 클래스의 모든 인스턴스에 대해 메서드를 실행하는 방법이 있습니까?

분류에서Dev

다른 HTML 요소에 대해 동일한 JQuery 코드를 실행하는 방법은 무엇입니까?

분류에서Dev

기존의 모든 하위 스레드에 대해 동일한 변수 변경

Related 관련 기사

  1. 1

    arraylist의 모든 요소에 대한 Java 실행 메소드

  2. 2

    ElasticSearch의 여러 인덱스 아래에있는 모든 필드에 대해 정확한 구문 일치 실행

  3. 3

    Java 클래스에 대해 동일한 클래스의 메소드를 모의하는 방법을 Spock

  4. 4

    클릭 한 요소에 대한 탭 변경, 동일한 클래스의 모든 요소가 아님

  5. 5

    동일한 스레드 NUnit에서 모든 테스트 실행

  6. 6

    onclick은 내 모든 요소에 대해 자동으로 실행되지만 클릭 한 요소에서는 실행되지 않습니다.

  7. 7

    Elixir / Phoenix-테스트 실행 초기에 코드 실행, 모든 테스트에 대한 공유 데이터

  8. 8

    배열의 모든 요소에 대해 함수 실행

  9. 9

    모든 사이트에 대한 Angular 실행 jQuery 코드

  10. 10

    디렉터리의 모든 파일에 대해 R 코드를 실행하고 모든 파일을 별도의 디렉터리에 출력합니다.

  11. 11

    모든 DerivedClass에 대해 BaseClass에 대한 테스트 실행

  12. 12

    클래스가 다른 모든 요소에 대해 클릭시 JS 코드를 적용하는 방법은 무엇입니까? (Bootstrap의 Accordion에서 하나의 요소를 열어 둡니다.)

  13. 13

    Do until Loop는 테이블의 모든 레코드에 대한 이메일을 실행하지 않습니다.

  14. 14

    이름이나 클래스의 모든 요소 대신 테이블 행의 현재 자식에 대해 작업

  15. 15

    MS 액세스 : 하위 하위 폼의 모든 인스턴스에 대해 코드 실행

  16. 16

    MySQL-동일한 열의 모든 레코드에 대해 계산할 열의 최대 값

  17. 17

    Mockito : 클래스의 모든 인스턴스에 대한 모의 인스턴스 메소드

  18. 18

    디렉토리의 모든 파일에 대해 명령 실행

  19. 19

    디렉토리의 모든 파일에 대해 명령 실행

  20. 20

    모든 하위 디렉터리의 모든 파일에 대해 검사 실행

  21. 21

    클래스의 모든 메서드에서 동일한 기대를 잡습니다.

  22. 22

    동일한 코어에서 실행되는 모든 프로세스

  23. 23

    django 모델의 동일한 모델 클래스에 대한 anytomany 필드 및 foreignkey

  24. 24

    typescript의 모든 요소에 대해 find 메소드를 사용하여 클래스 배열 속성 값 변경

  25. 25

    모듈의 클래스에 대한 활성 레코드 조인

  26. 26

    한 행에서 일대 다 관계의 모든 레코드 가져 오기

  27. 27

    파이썬에서 클래스의 모든 인스턴스에 대해 메서드를 실행하는 방법이 있습니까?

  28. 28

    다른 HTML 요소에 대해 동일한 JQuery 코드를 실행하는 방법은 무엇입니까?

  29. 29

    기존의 모든 하위 스레드에 대해 동일한 변수 변경

뜨겁다태그

보관