繁体   English   中英

抓取html元素值

[英]Grab html element value

我如何使用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>

您可以使用类似这样的东西。

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

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

获取本地元素的内容

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

获取文件元素的内容

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

尝试如下使用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 {
    ...
   }
  }

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

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

如果在呈现页面后加载元素(带有值),则通常可以将script元素放在页面底部。

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

如果您在谈论其他事情,但特别是使用jQuery,则jQuery拥有自己的ready函数:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM