我正在构建一个HTML页面,该页面使用以下代码从另一个页面接收数据
$arrayPosition = $_POST['arrayPosition'];
echo '<span id = "arrayPosition">'.$arrayPosition.'</span>';
然后,我尝试使用javascript获取元素的值,并将其传递给具有以下代码的函数
var initialPosition = document.getElementById('arrayPosition').value;
function displayWork(position){
$("#displayArtwork").detach()
.append(holdImages[position])
.hide()
.fadeIn("fast");
}
当我向屏幕提示初始位置的值时,它会通知我null是它的值,然而,当我检查元素时,它看起来像这个
<span id="arrayPosition">4</span>
我是不是犯了一些非常愚蠢的错误,或者误解了访问这些发布数据的方式?
谢谢你的帮助!
由于arrayPosition
是span
,因此它没有value
。你可以得到它的innerHTML
:
var initialPosition = document.getElementById('arrayPosition').innerHTML;
或者使用jQuery:
var initialPosition = $('#arrayPosition').text();
span
-元素没有值。只有form
-元素可以包含value
-属性。要在span
中获取文本,您可以使用innerHTML
-perperty:
var initialPosition = document.getElementById('arrayPosition').innerHTML;
演示
由于您已经在使用jQuery,您也可以使用它的text()
-函数:
var initialPosition = $('#arrayPosition').text();
这里你也可以使用:
$(document.getElementById('arrayPosition')).text();
维护起来更困难,阅读起来也更困难,但速度比jQuery Selector快。(见此处)
演示2
参考
.innerHTML
text()