我该如何提取标签中的单词,包括单词之间的空格,但之后不能提取任何额外的空格



我目前不知道如何正确使用HTML中的标签作为JS的变量。

[HTML]
<div> <!--Main Toppings-->
<label for = "mtop"> Main Toppings: </label>
<select name="mainToppings" id = "toppingsoption" required>
<option disabled selected id = 'emptyoption'> -- select an option -- </option>
<option id='pepperoniOverload' class = "mtopchoice">Pepperoni Overload - &#8369 100</option>
<option id='hawaiian' class = "mtopchoice">Hawaiian - &#8369 50</option>
<option id='meatOverload' class = "mtopchoice">Meat Overload - &#8369 125</option>
</select>
</div>
[JavaScript]
var toppings = document.getElementById("toppingsoption");
if (toppings.options[toppings.selectedIndex].id == 'emptyoption') {
var toppingsName = '';
var toppingsValue = 0;
} else {
var toppingsText = toppings.options[toppings.selectedIndex].innerHTML;
var toppingsName = toppingsText.replace(/[^a-z]/gi, '');
var toppingsValue = parseInt(toppingsText.replace(/D/g,''));

console.log(toppingsName, toppingsValue, "getMainToppings() working");
}

虽然当前的代码可以很好地处理"Hawaiian"选项,但"Pepperoni Overload"one_answers"Meat Overload"扰乱了我从标签中提取文本的方式。什么是正确的方法,让我能够提取单词Pepperoni Overload和Meat Overload,保持单词之间的空格,但不提取后面的额外空格?

只提取所有内容,直到-符号。以下内容应该有效:

/(.*)-/g

然后你可以提取第一组,应该得到你想要的。

最新更新