與未成年人的標記改變,你可以輕鬆地做到這一點,
HTML:
<div id="inputs">
<input type="text" value="bob" id="bob" size="4" />
<label for="bob"><b>Bob and Tim</b><br></label>
<input type="text" value="tim" id="tim" size="4" />
<label for="tim">Tim <i>after</i> Bob<br></label>
<input type="button" value="get textbox values" id="mybutton" />
</div>
JS:
$("#mybutton").click(function() {
$.each($('input[type="text"]'), function() {
alert($('label[for=' + this.id + ']').text());
});
});
DEMO
櫃面,如果你不喜歡label
標籤,然後簡單地將內容像be一樣包裝在一個範圍內低,
<div id="inputs">
<input type="text" value="bob" id="bob" size="4" />
<span><b>Bob and Tim</b><br></span>
<input type="text" value="tim" id="tim" size="4" />
<span>Tim <i>after</i> Bob<br></span>
<input type="button" value="get textbox values" id="mybutton" />
</div>
而且在JS,
$("#mybutton").click(function() {
$.each($('input[type="text"]'), function() {
alert($(this).next().text());
});
});
DEMO
我想你必須迭代'div#inputs'的子元素並保留你想要的HTML。或者,您可以克隆該批次,從克隆中去除輸入標籤,然後獲取'。innerHTML' – Rup 2012-04-24 17:04:13
我在你的小提琴中添加了一個新的修訂版本,它可以與克隆和使用innerHTML [小提琴](http://jsfiddle.net/gLEZd/6/) – 2012-04-24 17:06:49
@TobiasKrogh起作用我一開始沒有看到你的答案。正如我測試它最適用於在之間插入的奇怪的HTML。如果您希望獲得更多代表,請將其添加爲答案。 – 2012-04-24 17:44:42