抓取html元素值

时间:2014-12-01 22:33:14

标签: javascript php jquery html

如何使用php或javascript获取html元素值? 我尝试将jQuery与DOM ready事件一起使用,但问题是我想要抓取的值是从某个地方动态加载的,当我使用jQuery和DOM ready事件的时候,大多数情况下它发生了DOM已经准备好但值得元素是空的(它仍然没有加载),当我用jQuery获取值时,它给出了元素的空值,因为我在它加载元素之前抓住它。

如何在加载后获取值?有某种触发器或事件吗?

感谢任何帮助/想法!

接受的解决方案有效,但我认为这更好:

<script type="text/javascript">
var bool = false;
  jQuery('.element').bind('DOMNodeInserted', function() {
    if(bool == false) {
      alert("DOM NODE INSERTED !");
      bool = true;
    }
  });
</script>

4 个答案:

答案 0 :(得分:0)

你可以使用这样的东西。

$("#Blaah").load(function(){
//Code
});

当然,你不必使用id,你可以使用任何CSS选择器来检测元素的加载时间。

答案 1 :(得分:0)

获取本地元素的内容

$(function() {
    // after doc loads will get innerHTML of #myElement
    var elementContents = $("#myElement").html();
});

获取文件元素的内容

$(function() {
    $("#myDiv").load("ajax/test.html #container");
});

答案 2 :(得分:-1)

尝试使用window.load,如下所示:

  $( window ).load(function() {
     // Run code
  });

这将保证页面首先完全加载

继续发表评论。您不能像这样将load事件分配给单个元素。如果要使用window.load事件,则需要等待加载所有元素(整个页面)。但是,我建议你的是:

   function checkStatus() {
      var check = $(#yourELEMENT NAME)
      if (check == null) {
         //Change the time to whatever you like
         setTimeout("checkStatus()", 100);
     } else {
    ...
   }
  }

在这种情况下,您将等待一段时间,直到元素加载到足以设置它为止,然后您可以根据需要进行操作。最后,如果它适合你,请接受答案。

答案 3 :(得分:-1)

这听起来不像PHP,但更像是JavaScript。

如果在呈现页面后加载了元素(带有值),则将脚本元素放在页面底部通常会有效。

如果您正在等待用户/浏览器的某些更改,则需要附加到事件,例如onClick,onChange,onBlur,onMouseover,onKeypress等。

如果你正在谈论别的东西,但特别是使用jQuery,jQuery有自己的就绪功能:

$( document ).ready(function() {
console.log( "ready!" );
});