* @description 处理选项
(answers)
| 2904 | * @description 处理选项 |
| 2905 | */ |
| 2906 | function handleChoiceBtn(answers) { |
| 2907 | // 选项按钮 |
| 2908 | const allBtns = $$('.q-answer'); |
| 2909 | // 答案存在 |
| 2910 | if (answers.length && allBtns.length) { |
| 2911 | // 作答 |
| 2912 | return answers.every((answer) => { |
| 2913 | // 答案存在 |
| 2914 | if (answer && answer.length) { |
| 2915 | // 包含答案最短长度选项 |
| 2916 | let minLengthChoice; |
| 2917 | // 遍历 |
| 2918 | allBtns.forEach((choice) => { |
| 2919 | // 选项文本 |
| 2920 | const choiceText = choice.innerText.trim(); |
| 2921 | // 无符号选项文本 |
| 2922 | const unsignedChoiceText = choiceText.replaceAll(/[、,,。 ]/g, ''); |
| 2923 | // 无符号答案 |
| 2924 | const unsignedAnswer = answer.replaceAll(/[、,,。 ]/g, ''); |
| 2925 | // 包含答案 |
| 2926 | if (choiceText === answer || |
| 2927 | choiceText.includes(answer) || |
| 2928 | answer.includes(choiceText) || |
| 2929 | unsignedChoiceText.includes(unsignedAnswer)) { |
| 2930 | // 最小长度选项有值 |
| 2931 | if (minLengthChoice) { |
| 2932 | // 最短长度选项与当前选项比较长度 |
| 2933 | if (minLengthChoice.innerText.length > choiceText.length) { |
| 2934 | minLengthChoice = choice; |
| 2935 | } |
| 2936 | } |
| 2937 | else { |
| 2938 | // 最小长度选项赋值 |
| 2939 | minLengthChoice = choice; |
| 2940 | } |
| 2941 | } |
| 2942 | }); |
| 2943 | // 存在选项 |
| 2944 | if (minLengthChoice) { |
| 2945 | // 选择 |
| 2946 | if (!minLengthChoice.classList.contains('chosen')) { |
| 2947 | minLengthChoice.click(); |
| 2948 | } |
| 2949 | return true; |
| 2950 | } |
| 2951 | } |
| 2952 | return false; |
| 2953 | }); |
| 2954 | } |
| 2955 | return false; |
| 2956 | } |
| 2957 | /** |
| 2958 | * @description 随机处理单选 |
| 2959 | */ |