Невозможно прочитать свойство 'target' из неопределенного. Я хочу добавить указанный элемент c, но он дает мне ошибку - PullRequest
0 голосов
/ 07 марта 2020

Привет, я не знаю, почему он говорит, что он не определен, хотя есть элемент. Я пытаюсь добавить указанный элемент c при нажатии, но он не работает. Кто-нибудь может мне помочь ??

//JavaScript Document

//Constructor Function
function Movie(ptitle, pdirector, prating){
    this.title = ptitle;
    this.director = pdirector;
    this.rating = prating;
}

// 5 students and their favorite movie 
let Karen = new Movie('Parasite', 'Bong Joon-ho', 8.6);
let Sun = new Movie('Jumanji: Welcome to the Jungle', 'Jake Kasdan', 6.9);
let Trisha = new Movie('Train to Busan', 'Sang-ho Yeon', 7.5);
let Jake = new Movie('Avengers: Endgame', 'Joe Russo & Anthony Russo', 8.5);
let SeoYoung = new Movie('Heneral Luna', 'Jerrold Terog', 7.6);

Как вы можете видеть, я использую здесь функцию прототипа, но у меня нет полных знаний об использовании такого метода. Однако я должен использовать эту функцию-прототип.

//Prototype method of constructor function
Movie.prototype.myMovie = function(e){

    let firstPara = ' is my favorite movie. The director of it was ';
    let secondPara = '. The rating of the movie is ';

    console.log(this.title + firstPara + this.director + secondPara + this.rating);

    let info = this.title + firstPara + this.director + secondPara + this.rating;
    e.target.appendChild(info);
}

Этот код ниже работает правильно без каких-либо проблем. Я могу отображать нужную информацию в браузере.

//Display information in the browser
let name1 = 'Karen';
name1.id = 'karen'
let name2 = 'Sun';
name2.id = 'sun'
let name3 = 'Trisha';
name3.id = 'trisha'
let name4 = 'Jake';
name4.id = 'jake'
let name5 = 'Seo Young';
name5.id = 'seoyoung    '

let p1 = document.createElement('p');
let p2 = document.createElement('p');
let p3 = document.createElement('p');
let p4 = document.createElement('p');
let p5 = document.createElement('p');

let body = document.querySelector('body');

p1.innerHTML = name1;
p2.innerHTML = name2;
p3.innerHTML = name3;
p4.innerHTML = name4;
p5.innerHTML = name5;
body.appendChild(p1);
body.appendChild(p2);
body.appendChild(p3);
body.appendChild(p4);
body.appendChild(p5);

function showContent(){
    alert('test');
}

p1.onclick = Karen.myMovie();
...