我只是在为明确指定类型:challenge时出现错误的原因感到困惑。我知道类型推断可以确定它的数组。但为什么会出错呢?
var template = document.querySelector("#wrapper").innerHTML;
var a = 1;
function addFields() {
var wrapper = document.createElement("div");
wrapper.innerHTML = template;
wrapper.querySelector("label:last-of-type").innerHTML = "Segment " + (++a) + ":";
document.getElementById('wrapper').appendChild(wrapper);
}
window.onload = function() {
document.querySelector("#more_fields").addEventListener("click", function(e) {
e.preventDefault();
addFields();
});
}
错误:无法将string类型的值转换为期望的元素类型字符串。
正确的方法是简单地写:
<div class="container">
<h2>Form</h2>
<form>
<div id="room_fields">
<div class="content" id="wrapper">
<label style:>Segment 1:</label>
<div class="segment">
<div class="form-group">
<label>IN:</label>
<input name="seg-in[]" type="text">
</div>
<div class="form-group">
<label>OUT:</label>
<input name="seg-out[]" type="text">
</div>
<div class="form-group">
<label>Duration:</label>
<input name="seg-dur[]" type="text">
</div>
</div>
</div>
</div>
<br><br>
<div style="text-align: right;">
<button id="more_fields">+</button>
</div>
<br>
<br>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</div>
谢谢!
答案 0 :(得分:2)
challenges
必须是[[String]]
类型 - 它是一个字符串数组数组
你可以说
var challenges: [[String]] = [walkingChallenges, runningChallenges]
或
var challenges = [walkingChallenges, runningChallenges]
让Swift推断出类型