从同一页面(Javascript或PHP)获取特定的类字段内容


Get an specific class field content from the same page (Javascript or PHP)

我想在Javascript或PHP中获取特定div类的内容。我找到了一些可能的解决方案,但没有人为我工作。这是页面的代码:

<div class="um-field um-field-professional_tag um-field-text" data-key="professional_tag">
   <div class="um-field-label"><label for="professional_tag-27326">Professional Tag</label>
   <div class="um-clear"></div></div>
       <div class="um-field-area">
       <div class="um-field-value">text_to_be_retrieved</div>
</div></div>

所需的内容是包含"text_to_be_retrieved"的内容,但代码不应知道文本"text_to_be_retrieved"(它必须仅检索带有周围divs信息的文本)。是否可以将其存储在PHP/Javascript变量中以供其他算法使用?

提前谢谢。

你可以这样做,将这些值存储在对象中:

var obj = {};
var nick = $('.um-field-label label').attr('for');
var val = $('.um-field-label').next('.um-field-area').find('.um-field-value').text();
obj.nickName = nick;
obj.value = val;
alert(obj.nickName + " " + obj.value);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="um-field um-field-nickname um-field-text" data-key="nickname">
  <div class="um-field-label">
    <label for="nickname-27326">Professional Tag</label>
    <div class="um-clear">
    </div>
  </div>
  <div class="um-field-area">
    <div class="um-field-value">adolfodominguez</div>
  </div>

使用:contains选择器查找包含指定"文本"的元素

如果你有一个变量保存用div 换行的文本,你可以:contains

试试这个:

var myText = 'adolfodominguez'; // Variable holding text value
var element = $('.um-field-value:contains("' + myText + '")')
console.log(element);
<script src="http://gh-canon.github.io/stack-snippet-console/console.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="um-field um-field-nickname um-field-text" data-key="nickname">
  <div class="um-field-label">
    <label for="nickname-27326">Professional Tag</label>
    <div class="um-clear">
    </div>
  </div>
  <div class="um-field-area">
    <div class="um-field-value">adolfodominguez</div>
  </div>

你的 HTML,我附加了一个元素来向你显示输出。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="um-field um-field-professional_tag um-field-text" data-key="professional_tag">
    <div class="um-field-label">
        <label for="professional_tag-27326">Professional Tag</label>
        <div class="um-clear"></div>
    </div>
    <div class="um-field-area">
        <div class="um-field-value">adolfodominguez</div>
    </div>
</div>
<br>Copied text:
<p class='demo'></p>

使用 Javascript 的 jQuery 框架,您将获得所需的结果:

var text =  $("[for='professional_tag-27326']").parent('.um-field-label').next('.um-field-area').children('.um-field-value').text();
$('.demo').text(text);

https://jsfiddle.net/73mtmLLv/5/