如何从 div 中获取文本?

how can i get the text from within the div?

提问人:Tanvir 提问时间:1/26/2023 最后编辑:Tanvir 更新时间:1/26/2023 访问量:41

问:


const questions = (props) => {
  const { question, options, id } = props.quiz;

  const selected = (e) => {
    e.target.children[0].checked = true;
    console.log(e.target);
  };

  return (
    <div className="bg-gray-200 p-6 m-10 rounded-md">
      <div className="font-bold text-xl text-slate-600">{question}</div>
      <div className="grid grid-cols-2 mt-4">
        {options.map((option) => (
          <div className="border-2 border-solid border-gray-400 rounded  text-gray-500 m-1">
            <div className="flex cursor-pointer p-3" id={id} onClick={selected}>
              <input type="radio" className="mr-2" name="name" />
              {option}
            </div>
          </div>
        ))}
      </div>
    </div>
  );
};

export default questions;

enter image description here

如果在所选函数中完成 console.log(e.target),则返回 Div。如何在所选函数中访问 Div 的文本?

JavaScript reactjs DOM 事件 处理

评论

0赞 Ricardo Sanchez 1/26/2023
您已经有了数据,只需获取复选框并获取 options 数组中与 id 匹配的元素optionsid
0赞 jonrsharpe 1/26/2023
你不应该只是让随机的 div 可点击。使用与输入关联的标签。

答:

1赞 Gihan 1/26/2023 #1

可以使用对象上的属性访问所选函数中 Div 的文本。这将返回单击的 Div 的文本内容。.textContente.target

const selected = (e) => {
    e.target.children[0].checked = true;
    console.log(e.target.textContent);
  };